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
    Modifier and Type | Field and Description
    --- | ---
    `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
    Modifier | Constructor and Description
    --- | ---
    `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
    Modifier and Type | Method and 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 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.

Copyright (c) 2003-2013 Apache Software Foundation