org.apache.commons.math3.fraction

## Class AbstractFormat

- java.lang.Object
- - java.text.Format
  - - java.text.NumberFormat
    - - org.apache.commons.math3.fraction.AbstractFormat

- All Implemented Interfaces:
    Serializable, Cloneable
  Direct Known Subclasses:
    BigFractionFormat, FractionFormat

      public abstract class AbstractFormat
      extends NumberFormat
      implements Serializable

  Common part shared by both `FractionFormat` and `BigFractionFormat`.
  Since:
    2.0
  Version:
    $Id: AbstractFormat.java 1296532 2012-03-03 00:39:50Z sebb $
  See Also:
    Serialized Form

- - ### Nested Class Summary

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

      `NumberFormat.Field`

  - ### Field Summary

    - ### Fields inherited from class java.text.NumberFormat

      `FRACTION_FIELD, INTEGER_FIELD`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AbstractFormat()` Create an improper formatting instance with the default number format for the numerator and denominator.
    `protected` | `AbstractFormat(NumberFormat format)` Create an improper formatting instance with a custom number format for both the numerator and denominator.
    `protected` | `AbstractFormat(NumberFormat numeratorFormat, NumberFormat denominatorFormat)` Create an improper formatting instance with a custom number format for the numerator and a custom number format for the denominator.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `StringBuffer` | `format(double value, StringBuffer buffer, FieldPosition position)` Formats a double value as a fraction and appends the result to a StringBuffer.
    `StringBuffer` | `format(long value, StringBuffer buffer, FieldPosition position)` Formats a long value as a fraction and appends the result to a StringBuffer.
    `protected static NumberFormat` | `getDefaultNumberFormat()` Create a default number format.
    `protected static NumberFormat` | `getDefaultNumberFormat(Locale locale)` Create a default number format.
    `NumberFormat` | `getDenominatorFormat()` Access the denominator format.
    `NumberFormat` | `getNumeratorFormat()` Access the numerator format.
    `protected static void` | `parseAndIgnoreWhitespace(String source, ParsePosition pos)` Parses `source` until a non-whitespace character is found.
    `protected static char` | `parseNextCharacter(String source, ParsePosition pos)` Parses `source` until a non-whitespace character is found.
    `void` | `setDenominatorFormat(NumberFormat format)` Modify the denominator format.
    `void` | `setNumeratorFormat(NumberFormat format)` Modify the numerator format.

    - ### Methods inherited from class java.text.NumberFormat

      `clone, equals, format, format, format, getAvailableLocales, getCurrency, getCurrencyInstance, getCurrencyInstance, getInstance, getInstance, getIntegerInstance, getIntegerInstance, getMaximumFractionDigits, getMaximumIntegerDigits, getMinimumFractionDigits, getMinimumIntegerDigits, getNumberInstance, getNumberInstance, getPercentInstance, getPercentInstance, getRoundingMode, hashCode, isGroupingUsed, isParseIntegerOnly, parse, parse, parseObject, setCurrency, setGroupingUsed, setMaximumFractionDigits, setMaximumIntegerDigits, setMinimumFractionDigits, setMinimumIntegerDigits, setParseIntegerOnly, setRoundingMode`

    - ### Methods inherited from class java.text.Format

      `format, formatToCharacterIterator, parseObject`

    - ### Methods inherited from class java.lang.Object

      `finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### AbstractFormat

          protected AbstractFormat()

      Create an improper formatting instance with the default number format for the numerator and denominator.

    - #### AbstractFormat

          protected AbstractFormat(NumberFormat format)

      Create an improper formatting instance with a custom number format for both the numerator and denominator.
      Parameters:
        `format` - the custom format for both the numerator and denominator.

    - #### AbstractFormat

          protected AbstractFormat(NumberFormat numeratorFormat,
                        NumberFormat denominatorFormat)

      Create an improper formatting instance with a custom number format for the numerator and a custom number format for the denominator.
      Parameters:
        `numeratorFormat` - the custom format for the numerator.
        `denominatorFormat` - the custom format for the denominator.

  - ### Method Detail

    - #### getDefaultNumberFormat

          protected static NumberFormat getDefaultNumberFormat()

      Create a default number format. The default number format is based on `NumberFormat.getNumberInstance(java.util.Locale)`. The only customization is the maximum number of BigFraction digits, which is set to 0.
      Returns:
        the default number format.

    - #### getDefaultNumberFormat

          protected static NumberFormat getDefaultNumberFormat(Locale locale)

      Create a default number format. The default number format is based on `NumberFormat.getNumberInstance(java.util.Locale)`. The only customization is the maximum number of BigFraction digits, which is set to 0.
      Parameters:
        `locale` - the specific locale used by the format.
      Returns:
        the default number format specific to the given locale.

    - #### getDenominatorFormat

          public NumberFormat getDenominatorFormat()

      Access the denominator format.
      Returns:
        the denominator format.

    - #### getNumeratorFormat

          public NumberFormat getNumeratorFormat()

      Access the numerator format.
      Returns:
        the numerator format.

    - #### setDenominatorFormat

          public void setDenominatorFormat(NumberFormat format)

      Modify the denominator format.
      Parameters:
        `format` - the new denominator format value.
      Throws:
        `NullArgumentException` - if `format` is `null`.

    - #### setNumeratorFormat

          public void setNumeratorFormat(NumberFormat format)

      Modify the numerator format.
      Parameters:
        `format` - the new numerator format value.
      Throws:
        `NullArgumentException` - if `format` is `null`.

    - #### parseAndIgnoreWhitespace

          protected static void parseAndIgnoreWhitespace(String source,
                                      ParsePosition pos)

      Parses `source` until a non-whitespace character is found.
      Parameters:
        `source` - the string to parse
        `pos` - input/output parsing parameter. On output, `pos` holds the index of the next non-whitespace character.

    - #### parseNextCharacter

          protected static char parseNextCharacter(String source,
                                ParsePosition pos)

      Parses `source` until a non-whitespace character is found.
      Parameters:
        `source` - the string to parse
        `pos` - input/output parsing parameter.
      Returns:
        the first non-whitespace character.

    - #### format

          public StringBuffer format(double value,
                            StringBuffer buffer,
                            FieldPosition position)

      Formats a double value as a fraction and appends the result to a StringBuffer.
      Specified by:
        `format` in class `NumberFormat`
      Parameters:
        `value` - the double value to format
        `buffer` - StringBuffer to append to
        `position` - On input: an alignment field, if desired. On output: the offsets of the alignment field
      Returns:
        a reference to the appended buffer
      See Also:
        `NumberFormat.format(Object, StringBuffer, FieldPosition)`

    - #### format

          public StringBuffer format(long value,
                            StringBuffer buffer,
                            FieldPosition position)

      Formats a long value as a fraction and appends the result to a StringBuffer.
      Specified by:
        `format` in class `NumberFormat`
      Parameters:
        `value` - the long value to format
        `buffer` - StringBuffer to append to
        `position` - On input: an alignment field, if desired. On output: the offsets of the alignment field
      Returns:
        a reference to the appended buffer
      See Also:
        `NumberFormat.format(Object, StringBuffer, FieldPosition)`

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