org.apache.commons.math.complex

## Class ComplexFormat

- java.lang.Object
- - java.text.Format
  - - org.apache.commons.math.util.CompositeFormat
    - - 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: 983921 $ $Date: 2010-08-10 12:46:06 +0200 (mar. 10 août 2010) $
  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class java.text.Format

      `java.text.Format.Field`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `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

    Constructors
    Constructor and Description
    `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

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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:
        `NullArgumentException` - if `imaginaryFormat` is `null`.

    - #### setRealFormat

          public void setRealFormat(java.text.NumberFormat realFormat)

      Modify the realFormat.
      Parameters:
        `realFormat` - The new realFormat value.
      Throws:
        `NullArgumentException` - if `realFormat` is `null`.

Copyright (c) 2003-2013 Apache Software Foundation