Class VectorFormat<S extends Space,V extends Vector<S,V>>
- java.lang.Object
-
- org.hipparchus.geometry.VectorFormat<S,V>
-
- Type Parameters:
S
- Type of the space.V
- Type of vector implementing Vector interface.
- Direct Known Subclasses:
Vector1DFormat
,Vector2DFormat
,Vector3DFormat
public abstract class VectorFormat<S extends Space,V extends Vector<S,V>> extends Object
Formats a vector in components list format "{x; y; ...}".The prefix and suffix "{" and "}" and the separator "; " can be replaced by any user-defined strings. The number format for components can be configured.
White space is ignored at parse time, even if it is in the prefix, suffix or separator specifications. So even if the default separator does include a space character that is used at format time, both input string "{1;1;1}" and " { 1 ; 1 ; 1 } " will be parsed without error and the same vector will be returned. In the second case, however, the parse position after parsing will be just after the closing curly brace, i.e. just before the trailing space.
Note: using "," as a separator may interfere with the grouping separator of the default
NumberFormat
for the current locale. Thus it is advised to use aNumberFormat
instance with disabled grouping in such a case.
-
-
Field Summary
Fields Modifier and Type Field Description static String
DEFAULT_PREFIX
The default prefix: "{".static String
DEFAULT_SEPARATOR
The default separator: ", ".static String
DEFAULT_SUFFIX
The default suffix: "}".
-
Constructor Summary
Constructors Modifier Constructor Description protected
VectorFormat()
Create an instance with default settings.protected
VectorFormat(String prefix, String suffix, String separator)
Create an instance with custom prefix, suffix and separator.protected
VectorFormat(String prefix, String suffix, String separator, NumberFormat format)
Create an instance with custom prefix, suffix, separator and format for components.protected
VectorFormat(NumberFormat format)
Create an instance with a custom number format for components.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected StringBuffer
format(StringBuffer toAppendTo, FieldPosition pos, double... coordinates)
Formats the coordinates of aVector
to produce a string.String
format(Vector<S,V> vector)
Formats aVector
object to produce a string.abstract StringBuffer
format(Vector<S,V> vector, StringBuffer toAppendTo, FieldPosition pos)
Formats aVector
object to produce a string.static Locale[]
getAvailableLocales()
Get the set of locales for which point/vector formats are available.NumberFormat
getFormat()
Get the components format.String
getPrefix()
Get the format prefix.String
getSeparator()
Get the format separator between components.String
getSuffix()
Get the format suffix.abstract Vector<S,V>
parse(String source)
Parses a string to produce aVector
object.abstract Vector<S,V>
parse(String source, ParsePosition pos)
Parses a string to produce aVector
object.protected double[]
parseCoordinates(int dimension, String source, ParsePosition pos)
Parses a string to produce an array of coordinates.
-
-
-
Field Detail
-
DEFAULT_PREFIX
public static final String DEFAULT_PREFIX
The default prefix: "{".- See Also:
- Constant Field Values
-
DEFAULT_SUFFIX
public static final String DEFAULT_SUFFIX
The default suffix: "}".- See Also:
- Constant Field Values
-
DEFAULT_SEPARATOR
public static final String DEFAULT_SEPARATOR
The default separator: ", ".- See Also:
- Constant Field Values
-
-
Constructor Detail
-
VectorFormat
protected VectorFormat()
Create an instance with default settings.The instance uses the default prefix, suffix and separator: "{", "}", and "; " and the default number format for components.
-
VectorFormat
protected VectorFormat(NumberFormat format)
Create an instance with a custom number format for components.- Parameters:
format
- the custom format for components.
-
VectorFormat
protected VectorFormat(String prefix, String suffix, String separator)
Create an instance with custom prefix, suffix and separator.- Parameters:
prefix
- prefix to use instead of the default "{"suffix
- suffix to use instead of the default "}"separator
- separator to use instead of the default "; "
-
VectorFormat
protected VectorFormat(String prefix, String suffix, String separator, NumberFormat format)
Create an instance with custom prefix, suffix, separator and format for components.- Parameters:
prefix
- prefix to use instead of the default "{"suffix
- suffix to use instead of the default "}"separator
- separator to use instead of the default "; "format
- the custom format for components.
-
-
Method Detail
-
getAvailableLocales
public static Locale[] getAvailableLocales()
Get the set of locales for which point/vector formats are available.This is the same set as the
NumberFormat
set.- Returns:
- available point/vector format locales.
-
getPrefix
public String getPrefix()
Get the format prefix.- Returns:
- format prefix.
-
getSuffix
public String getSuffix()
Get the format suffix.- Returns:
- format suffix.
-
getSeparator
public String getSeparator()
Get the format separator between components.- Returns:
- format separator.
-
getFormat
public NumberFormat getFormat()
Get the components format.- Returns:
- components format.
-
format
public String format(Vector<S,V> vector)
Formats aVector
object to produce a string.- Parameters:
vector
- the object to format.- Returns:
- a formatted string.
-
format
public abstract StringBuffer format(Vector<S,V> vector, StringBuffer toAppendTo, FieldPosition pos)
Formats aVector
object to produce a string.- Parameters:
vector
- the object to format.toAppendTo
- where the text is to be appendedpos
- On input: an alignment field, if desired. On output: the offsets of the alignment field- Returns:
- the value passed in as toAppendTo.
-
format
protected StringBuffer format(StringBuffer toAppendTo, FieldPosition pos, double... coordinates)
Formats the coordinates of aVector
to produce a string.- Parameters:
toAppendTo
- where the text is to be appendedpos
- On input: an alignment field, if desired. On output: the offsets of the alignment fieldcoordinates
- coordinates of the object to format.- Returns:
- the value passed in as toAppendTo.
-
parse
public abstract Vector<S,V> parse(String source) throws MathIllegalStateException
Parses a string to produce aVector
object.- Parameters:
source
- the string to parse- Returns:
- the parsed
Vector
object. - Throws:
MathIllegalStateException
- if the beginning of the specified string cannot be parsed.
-
parse
public abstract Vector<S,V> parse(String source, ParsePosition pos)
Parses a string to produce aVector
object.- Parameters:
source
- the string to parsepos
- input/output parsing parameter.- Returns:
- the parsed
Vector
object.
-
parseCoordinates
protected double[] parseCoordinates(int dimension, String source, ParsePosition pos)
Parses a string to produce an array of coordinates.- Parameters:
dimension
- dimension of the spacesource
- the string to parsepos
- input/output parsing parameter.- Returns:
- coordinates array.
-
-