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.

Since:
  3.0
Version:
  $Id: VectorFormat.java 1416643 2012-12-03 19:37:14Z tn $

### Field Summary

Fields
`static String` `DEFAULT_PREFIX` The default prefix: "{".
`static String` `DEFAULT_SEPARATOR` The default separator: ", ".
`static String` `DEFAULT_SUFFIX` The default suffix: "}".
`private NumberFormat` `format` The format used for components.
`private String` `prefix` Prefix.
`private String` `separator` Separator.
`private String` `suffix` Suffix.
`private String` `trimmedPrefix` Trimmed prefix.
`private String` `trimmedSeparator` Trimmed separator.
`private String` `trimmedSuffix` Trimmed suffix.

### Constructor Summary

Constructors
`protected` `VectorFormat()` Create an instance with default settings.
`protected` `VectorFormat(NumberFormat format)` Create an instance with a custom number format for components.
`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.

### Method Summary

Methods
`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 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

#### prefix

    private final String prefix

Prefix.

#### suffix

    private final String suffix

Suffix.

#### separator

    private final String separator

Separator.

#### trimmedPrefix

    private final String trimmedPrefix

Trimmed prefix.

#### trimmedSuffix

    private final String trimmedSuffix

Trimmed suffix.

#### trimmedSeparator

    private final String trimmedSeparator

Trimmed separator.

#### format

    private final NumberFormat format

The format used for components.

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