org.apache.commons.math.complex
Class ComplexFormat

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

public class ComplexFormat
extends CompositeFormat

Formats a Complex number in cartesian format "Re(c) + Im(c)i". 'i' can be replaced with 'j' (or anything else), and the number format for both real and imaginary parts can be configured.

Version:
$Revision: 772119 $ $Date: 2009-05-06 05:43:28 -0400 (Wed, 06 May 2009) $
Author:
Apache Software Foundation
See Also:
Serialized Form

Nested Class Summary
 
Nested classes/interfaces inherited from class java.text.Format
java.text.Format.Field
 
Field Summary
private static java.lang.String DEFAULT_IMAGINARY_CHARACTER
          The default imaginary character.
private  java.lang.String imaginaryCharacter
          The notation used to signify the imaginary part of the complex number.
private  java.text.NumberFormat imaginaryFormat
          The format used for the imaginary part.
private  java.text.NumberFormat realFormat
          The format used for the real part.
private static long serialVersionUID
          Serializable version identifier
 
Constructor Summary
ComplexFormat()
          Create an instance with the default imaginary character, 'i', and the default number format for both real and imaginary parts.
ComplexFormat(java.text.NumberFormat format)
          Create an instance with a custom number format for both real and imaginary parts.
ComplexFormat(java.text.NumberFormat realFormat, java.text.NumberFormat imaginaryFormat)
          Create an instance with a custom number format for the real part and a custom number format for the imaginary part.
ComplexFormat(java.lang.String imaginaryCharacter)
          Create an instance with a custom imaginary character, and the default number format for both real and imaginary parts.
ComplexFormat(java.lang.String imaginaryCharacter, java.text.NumberFormat format)
          Create an instance with a custom imaginary character, and a custom number format for both real and imaginary parts.
ComplexFormat(java.lang.String imaginaryCharacter, java.text.NumberFormat realFormat, java.text.NumberFormat imaginaryFormat)
          Create an instance with a custom imaginary character, a custom number format for the real part, and a custom number format for the imaginary part.
 
Method Summary
 java.lang.StringBuffer format(Complex complex, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
          Formats a Complex object to produce a string.
 java.lang.StringBuffer format(java.lang.Object obj, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
          Formats a object to produce a string.
static java.lang.String formatComplex(Complex c)
          This static method calls Format.format(Object) on a default instance of ComplexFormat.
static java.util.Locale[] getAvailableLocales()
          Get the set of locales for which complex formats are available.
 java.lang.String getImaginaryCharacter()
          Access the imaginaryCharacter.
 java.text.NumberFormat getImaginaryFormat()
          Access the imaginaryFormat.
static ComplexFormat getInstance()
          Returns the default complex format for the current locale.
static ComplexFormat getInstance(java.util.Locale locale)
          Returns the default complex format for the given locale.
 java.text.NumberFormat getRealFormat()
          Access the realFormat.
 Complex parse(java.lang.String source)
          Parses a string to produce a Complex object.
 Complex parse(java.lang.String source, java.text.ParsePosition pos)
          Parses a string to produce a Complex object.
 java.lang.Object parseObject(java.lang.String source, java.text.ParsePosition pos)
          Parses a string to produce a object.
 void setImaginaryCharacter(java.lang.String imaginaryCharacter)
          Modify the imaginaryCharacter.
 void setImaginaryFormat(java.text.NumberFormat imaginaryFormat)
          Modify the imaginaryFormat.
 void setRealFormat(java.text.NumberFormat realFormat)
          Modify the realFormat.
 
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
 

Field Detail

serialVersionUID

private static final long serialVersionUID
Serializable version identifier

See Also:
Constant Field Values

DEFAULT_IMAGINARY_CHARACTER

private static final java.lang.String DEFAULT_IMAGINARY_CHARACTER
The default imaginary character.

See Also:
Constant Field Values

imaginaryCharacter

private java.lang.String imaginaryCharacter
The notation used to signify the imaginary part of the complex number.


imaginaryFormat

private java.text.NumberFormat imaginaryFormat
The format used for the imaginary part.


realFormat

private java.text.NumberFormat realFormat
The format used for the real part.

Constructor Detail

ComplexFormat

public ComplexFormat()
Create an instance with the default imaginary character, 'i', and the default number format for both real and imaginary parts.


ComplexFormat

public ComplexFormat(java.text.NumberFormat format)
Create an instance with a custom number format for both real and imaginary parts.

Parameters:
format - the custom format for both real and imaginary parts.

ComplexFormat

public ComplexFormat(java.text.NumberFormat realFormat,
                     java.text.NumberFormat imaginaryFormat)
Create an instance with a custom number format for the real part and a custom number format for the imaginary part.

Parameters:
realFormat - the custom format for the real part.
imaginaryFormat - the custom format for the imaginary part.

ComplexFormat

public ComplexFormat(java.lang.String imaginaryCharacter)
Create an instance with a custom imaginary character, and the default number format for both real and imaginary parts.

Parameters:
imaginaryCharacter - The custom imaginary character.

ComplexFormat

public ComplexFormat(java.lang.String imaginaryCharacter,
                     java.text.NumberFormat format)
Create an instance with a custom imaginary character, and a custom number format for both real and imaginary parts.

Parameters:
imaginaryCharacter - The custom imaginary character.
format - the custom format for both real and imaginary parts.

ComplexFormat

public ComplexFormat(java.lang.String imaginaryCharacter,
                     java.text.NumberFormat realFormat,
                     java.text.NumberFormat imaginaryFormat)
Create an instance with a custom imaginary character, a custom number format for the real part, and a custom number format for the imaginary part.

Parameters:
imaginaryCharacter - The custom imaginary character.
realFormat - the custom format for the real part.
imaginaryFormat - the custom format for the imaginary part.
Method Detail

getAvailableLocales

public static java.util.Locale[] getAvailableLocales()
Get the set of locales for which complex formats are available.

This is the same set as the NumberFormat set.

Returns:
available complex format locales.

formatComplex

public static java.lang.String formatComplex(Complex c)
This static method calls Format.format(Object) on a default instance of ComplexFormat.

Parameters:
c - Complex object to format
Returns:
A formatted number in the form "Re(c) + Im(c)i"

format

public java.lang.StringBuffer format(Complex complex,
                                     java.lang.StringBuffer toAppendTo,
                                     java.text.FieldPosition pos)
Formats a Complex object to produce a string.

Parameters:
complex - 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 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 either a Complex object or a Number object. Any other type of object will result in an IllegalArgumentException being thrown.

Specified by:
format in class java.text.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:
java.lang.IllegalArgumentException - is obj is not a valid type.
See Also:
Format.format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)

getImaginaryCharacter

public java.lang.String getImaginaryCharacter()
Access the imaginaryCharacter.

Returns:
the imaginaryCharacter.

getImaginaryFormat

public java.text.NumberFormat getImaginaryFormat()
Access the imaginaryFormat.

Returns:
the imaginaryFormat.

getInstance

public static ComplexFormat getInstance()
Returns the default complex format for the current locale.

Returns:
the default complex format.

getInstance

public static ComplexFormat getInstance(java.util.Locale locale)
Returns the default complex format for the given locale.

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

getRealFormat

public java.text.NumberFormat getRealFormat()
Access the realFormat.

Returns:
the realFormat.

parse

public Complex parse(java.lang.String source)
              throws java.text.ParseException
Parses a string to produce a Complex object.

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

parse

public Complex parse(java.lang.String source,
                     java.text.ParsePosition pos)
Parses a string to produce a Complex object.

Parameters:
source - the string to parse
pos - input/ouput parsing parameter.
Returns:
the parsed Complex 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 class java.text.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)

setImaginaryCharacter

public void setImaginaryCharacter(java.lang.String imaginaryCharacter)
Modify the imaginaryCharacter.

Parameters:
imaginaryCharacter - The new imaginaryCharacter value.
Throws:
java.lang.IllegalArgumentException - if imaginaryCharacter is null or an empty string.

setImaginaryFormat

public void setImaginaryFormat(java.text.NumberFormat imaginaryFormat)
Modify the imaginaryFormat.

Parameters:
imaginaryFormat - The new imaginaryFormat value.
Throws:
java.lang.IllegalArgumentException - if imaginaryFormat is null.

setRealFormat

public void setRealFormat(java.text.NumberFormat realFormat)
Modify the realFormat.

Parameters:
realFormat - The new realFormat value.
Throws:
java.lang.IllegalArgumentException - if realFormat is null.


Copyright (c) 2003-2009 Apache Software Foundation