Class Vector3DFormat
- java.lang.Object
-
- java.text.Format
-
- org.apache.commons.math.util.CompositeFormat
-
- org.apache.commons.math.geometry.Vector3DFormat
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.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.
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description Vector3DFormat()
Create an instance with default settings.Vector3DFormat(java.lang.String prefix, java.lang.String suffix, java.lang.String separator)
Create an instance with custom prefix, suffix and separator.Vector3DFormat(java.lang.String prefix, java.lang.String suffix, java.lang.String separator, java.text.NumberFormat format)
Create an instance with custom prefix, suffix, separator and format for components.Vector3DFormat(java.text.NumberFormat format)
Create an instance with a custom number format for components.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.lang.StringBuffer
format(java.lang.Object obj, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
Formats a object to produce a string.java.lang.StringBuffer
format(Vector3D vector, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
Formats aVector3D
object to produce a string.static java.lang.String
formatVector3D(Vector3D v)
This static method callsFormat.format(Object)
on a default instance of Vector3DFormat.static java.util.Locale[]
getAvailableLocales()
Get the set of locales for which 3D vectors formats are available.java.text.NumberFormat
getFormat()
Get the components format.static Vector3DFormat
getInstance()
Returns the default 3D vector format for the current locale.static Vector3DFormat
getInstance(java.util.Locale locale)
Returns the default 3D vector format for the given locale.java.lang.String
getPrefix()
Get the format prefix.java.lang.String
getSeparator()
Get the format separator between components.java.lang.String
getSuffix()
Get the format suffix.Vector3D
parse(java.lang.String source)
Parses a string to produce aVector3D
object.Vector3D
parse(java.lang.String source, java.text.ParsePosition pos)
Parses a string to produce aVector3D
object.java.lang.Object
parseObject(java.lang.String source, java.text.ParsePosition pos)
Parses a string to produce a object.
-
-
-
Constructor Detail
-
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(java.text.NumberFormat format)
Create an instance with a custom number format for components.- Parameters:
format
- the custom format for components.
-
Vector3DFormat
public Vector3DFormat(java.lang.String prefix, java.lang.String suffix, java.lang.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(java.lang.String prefix, java.lang.String suffix, java.lang.String separator, java.text.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 java.util.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 java.lang.String getPrefix()
Get the format prefix.- Returns:
- format prefix.
-
getSuffix
public java.lang.String getSuffix()
Get the format suffix.- Returns:
- format suffix.
-
getSeparator
public java.lang.String getSeparator()
Get the format separator between components.- Returns:
- format separator.
-
getFormat
public java.text.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(java.util.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 java.lang.String formatVector3D(Vector3D v)
This static method callsFormat.format(Object)
on a default instance of Vector3DFormat.- Parameters:
v
- Vector3D object to format- Returns:
- A formatted vector
-
format
public java.lang.StringBuffer format(Vector3D vector, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
Formats aVector3D
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
public java.lang.StringBuffer format(java.lang.Object obj, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
Formats a object to produce a string.obj
must be aVector3D
object. Any other type of object will result in anIllegalArgumentException
being thrown.- Specified by:
format
in classjava.text.Format
- Parameters:
obj
- 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.
- Throws:
java.lang.IllegalArgumentException
- isobj
is not a valid type.- See Also:
Format.format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)
-
parse
public Vector3D parse(java.lang.String source) throws java.text.ParseException
Parses a string to produce aVector3D
object.- Parameters:
source
- the string to parse- Returns:
- the parsed
Vector3D
object. - Throws:
java.text.ParseException
- if the beginning of the specified string cannot be parsed.
-
parse
public Vector3D parse(java.lang.String source, java.text.ParsePosition pos)
Parses a string to produce aVector3D
object.- Parameters:
source
- the string to parsepos
- input/ouput parsing parameter.- Returns:
- the parsed
Vector3D
object.
-
parseObject
public java.lang.Object parseObject(java.lang.String source, java.text.ParsePosition pos)
Parses a string to produce a object.- Specified by:
parseObject
in classjava.text.Format
- Parameters:
source
- the string to parsepos
- input/ouput parsing parameter.- Returns:
- the parsed object.
- See Also:
Format.parseObject(java.lang.String, java.text.ParsePosition)
-
-