org.apache.commons.math.linear
Class RealVectorFormat

java.lang.Object
  extended by java.text.Format
      extended by org.apache.commons.math.util.CompositeFormat
          extended by org.apache.commons.math.linear.RealVectorFormat
All Implemented Interfaces:
Serializable, Cloneable

public class RealVectorFormat
extends CompositeFormat

Formats a vector in components list format "{v0; v1; ...; vk-1}".

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:
2.0
Version:
$Revision: 1003886 $ $Date: 2010-10-02 23:04:44 +0200 (sam. 02 oct. 2010) $
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.text.Format
Format.Field
 
Constructor Summary
RealVectorFormat()
          Create an instance with default settings.
RealVectorFormat(NumberFormat format)
          Create an instance with a custom number format for components.
RealVectorFormat(String prefix, String suffix, String separator)
          Create an instance with custom prefix, suffix and separator.
RealVectorFormat(String prefix, String suffix, String separator, NumberFormat format)
          Create an instance with custom prefix, suffix, separator and format for components.
 
Method Summary
 StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos)
          Formats a object to produce a string.
 StringBuffer format(RealVector vector, StringBuffer toAppendTo, FieldPosition pos)
          Formats a RealVector object to produce a string.
static String formatRealVector(RealVector v)
          This static method calls Format.format(Object) on a default instance of RealVectorFormat.
static Locale[] getAvailableLocales()
          Get the set of locales for which real vectors formats are available.
 NumberFormat getFormat()
          Get the components format.
static RealVectorFormat getInstance()
          Returns the default real vector format for the current locale.
static RealVectorFormat getInstance(Locale locale)
          Returns the default real vector format for the given locale.
 String getPrefix()
          Get the format prefix.
 String getSeparator()
          Get the format separator between components.
 String getSuffix()
          Get the format suffix.
 ArrayRealVector parse(String source)
          Parses a string to produce a RealVector object.
 ArrayRealVector parse(String source, ParsePosition pos)
          Parses a string to produce a RealVector object.
 Object parseObject(String source, ParsePosition pos)
          Parses a string to produce a object.
 
Methods inherited from class org.apache.commons.math.util.CompositeFormat
formatDouble, getDefaultNumberFormat, getDefaultNumberFormat, parseAndIgnoreWhitespace, parseFixedstring, parseNextCharacter, parseNumber
 
Methods inherited from class java.text.Format
clone, format, formatToCharacterIterator, parseObject
 
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RealVectorFormat

public RealVectorFormat()
Create an instance with default settings.

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


RealVectorFormat

public RealVectorFormat(NumberFormat format)
Create an instance with a custom number format for components.

Parameters:
format - the custom format for components.

RealVectorFormat

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

RealVectorFormat

public RealVectorFormat(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 real vectors formats are available.

This is the same set as the NumberFormat set.

Returns:
available real 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 RealVectorFormat getInstance()
Returns the default real vector format for the current locale.

Returns:
the default real vector format.

getInstance

public static RealVectorFormat getInstance(Locale locale)
Returns the default real vector format for the given locale.

Parameters:
locale - the specific locale used by the format.
Returns:
the real vector format specific to the given locale.

formatRealVector

public static String formatRealVector(RealVector v)
This static method calls Format.format(Object) on a default instance of RealVectorFormat.

Parameters:
v - RealVector object to format
Returns:
A formatted vector

format

public StringBuffer format(RealVector vector,
                           StringBuffer toAppendTo,
                           FieldPosition pos)
Formats a RealVector 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 RealVector 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:
Format.format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)

parse

public ArrayRealVector parse(String source)
                      throws ParseException
Parses a string to produce a RealVector object.

Parameters:
source - the string to parse
Returns:
the parsed RealVector object.
Throws:
ParseException - if the beginning of the specified string cannot be parsed.

parse

public ArrayRealVector parse(String source,
                             ParsePosition pos)
Parses a string to produce a RealVector object.

Parameters:
source - the string to parse
pos - input/ouput parsing parameter.
Returns:
the parsed RealVector 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:
Format.parseObject(java.lang.String, java.text.ParsePosition)


Copyright © 2003-2011 The Apache Software Foundation. All Rights Reserved.