Package org.apache.commons.math3.geometry

# Class VectorFormat<S extends Space>

java.lang.Object
org.apache.commons.math3.geometry.VectorFormat<S>

Type Parameters:
  `S` - Type of the space.

Direct Known Subclasses:
  `Vector1DFormat`, `Vector2DFormat`, `Vector3DFormat`

public abstract class VectorFormat<S extends Space> 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 a `NumberFormat` instance with disabled grouping in such a case.

Since:
  3.0

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`DEFAULT_PREFIX`
The default prefix: "{".
`static final String`
`DEFAULT_SEPARATOR`
The default separator: ", ".
`static final 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

Modifier and Type
Method
Description
`protected StringBuffer`
`format(StringBuffer toAppendTo, FieldPosition pos, double... coordinates)`
Formats the coordinates of a `Vector` to produce a string.
`String`
`format(Vector<S> vector)`
Formats a `Vector` object to produce a string.
`abstract StringBuffer`
`format(Vector<S> vector, StringBuffer toAppendTo, FieldPosition pos)`
Formats a `Vector` 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>`
`parse(String source)`
Parses a string to produce a `Vector` object.
`abstract Vector<S>`
`parse(String source, ParsePosition pos)`
Parses a string to produce a `Vector` object.
`protected double[]`
`parseCoordinates(int dimension, String source, ParsePosition pos)`
Parses a string to produce an array of coordinates.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### 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 Details

### 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 Details

### 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> vector)
Formats a `Vector` object to produce a string.

Parameters:
  `vector` - the object to format.
Returns:
  a formatted string.

### format

public abstract StringBuffer format(Vector<S> vector, StringBuffer toAppendTo, FieldPosition pos)
Formats a `Vector` object to produce a string.

Parameters:
  `vector` - the object to format.
  `toAppendTo` - where the text is to be appended
  `pos` - 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 a `Vector` to produce a string.

Parameters:
  `toAppendTo` - where the text is to be appended
  `pos` - On input: an alignment field, if desired. On output: the offsets of the alignment field
  `coordinates` - coordinates of the object to format.
Returns:
  the value passed in as toAppendTo.

### parse

public abstract Vector<S> parse(String source) throws MathParseException
Parses a string to produce a `Vector` object.

Parameters:
  `source` - the string to parse
Returns:
  the parsed `Vector` object.
Throws:
  `MathParseException` - if the beginning of the specified string cannot be parsed.

### parse

public abstract Vector<S> parse(String source, ParsePosition pos)
Parses a string to produce a `Vector` object.

Parameters:
  `source` - the string to parse
  `pos` - 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 space
  `source` - the string to parse
  `pos` - input/output parsing parameter.
Returns:
  coordinates array.