Class Vector3DFormat

java.lang.Object
java.text.Format
org.apache.commons.math.util.CompositeFormat
org.apache.commons.math.geometry.Vector3DFormat
All Implemented Interfaces:
Serializable, Cloneable

public class Vector3DFormat extends CompositeFormat
Formats a 3D vector in components list format "{x; y; z}".

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.

Version:
$Revision: 1003886 $ $Date: 2010-10-02 23:04:44 +0200 (sam. 02 oct. 2010) $
See Also:
  • Constructor Details

    • Vector3DFormat

      public Vector3DFormat()
      Create an instance with default settings.

      The instance uses the default prefix, suffix and separator: "{", "}", and "; " and the default number format for components.

    • Vector3DFormat

      public Vector3DFormat(NumberFormat format)
      Create an instance with a custom number format for components.
      Parameters:
      format - the custom format for components.
    • Vector3DFormat

      public Vector3DFormat(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 "; "
    • Vector3DFormat

      public Vector3DFormat(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 3D vectors formats are available.

      This is the same set as the NumberFormat set.

      Returns:
      available 3D 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.
    • getInstance

      public static Vector3DFormat getInstance()
      Returns the default 3D vector format for the current locale.
      Returns:
      the default 3D vector format.
    • getInstance

      public static Vector3DFormat getInstance(Locale locale)
      Returns the default 3D vector format for the given locale.
      Parameters:
      locale - the specific locale used by the format.
      Returns:
      the 3D vector format specific to the given locale.
    • formatVector3D

      public static String formatVector3D(Vector3D v)
      This static method calls Format.format(Object) on a default instance of Vector3DFormat.
      Parameters:
      v - Vector3D object to format
      Returns:
      A formatted vector
    • format

      public StringBuffer format(Vector3D vector, StringBuffer toAppendTo, FieldPosition pos)
      Formats a Vector3D 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

      public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
      Formats a object to produce a string.

      obj must be a Vector3D object. Any other type of object will result in an IllegalArgumentException being thrown.

      Specified by:
      format in class Format
      Parameters:
      obj - 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.
      Throws:
      IllegalArgumentException - is obj is not a valid type.
      See Also:
    • parse

      public Vector3D parse(String source) throws ParseException
      Parses a string to produce a Vector3D object.
      Parameters:
      source - the string to parse
      Returns:
      the parsed Vector3D object.
      Throws:
      ParseException - if the beginning of the specified string cannot be parsed.
    • parse

      public Vector3D parse(String source, ParsePosition pos)
      Parses a string to produce a Vector3D object.
      Parameters:
      source - the string to parse
      pos - input/ouput parsing parameter.
      Returns:
      the parsed Vector3D object.
    • parseObject

      public Object parseObject(String source, ParsePosition pos)
      Parses a string to produce a object.
      Specified by:
      parseObject in class Format
      Parameters:
      source - the string to parse
      pos - input/ouput parsing parameter.
      Returns:
      the parsed object.
      See Also: