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:
    java.io.Serializable, java.lang.Cloneable
  Direct Known Subclasses:
    BigFractionFormat, FractionFormat

      public abstract class AbstractFormat
      extends java.text.NumberFormat
      implements java.io.Serializable

  Common part shared by both `FractionFormat` and `BigFractionFormat`.
  Since:
    2.0
  Version:
    $Id: AbstractFormat.java 1416643 2012-12-03 19:37:14Z tn $
  See Also:
    Serialized Form

- - ### Nested Class Summary

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

      `java.text.NumberFormat.Field`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `private java.text.NumberFormat` | `denominatorFormat` The format used for the denominator.
    `private java.text.NumberFormat` | `numeratorFormat` The format used for the numerator.
    `private static long` | `serialVersionUID` Serializable version identifier.

    - ### 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(java.text.NumberFormat format)` Create an improper formatting instance with a custom number format for both the numerator and denominator.
    `protected` | `AbstractFormat(java.text.NumberFormat numeratorFormat, java.text.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
    --- | ---
    `java.lang.StringBuffer` | `format(double value, java.lang.StringBuffer buffer, java.text.FieldPosition position)` Formats a double value as a fraction and appends the result to a StringBuffer.
    `java.lang.StringBuffer` | `format(long value, java.lang.StringBuffer buffer, java.text.FieldPosition position)` Formats a long value as a fraction and appends the result to a StringBuffer.
    `protected static java.text.NumberFormat` | `getDefaultNumberFormat()` Create a default number format.
    `protected static java.text.NumberFormat` | `getDefaultNumberFormat(java.util.Locale locale)` Create a default number format.
    `java.text.NumberFormat` | `getDenominatorFormat()` Access the denominator format.
    `java.text.NumberFormat` | `getNumeratorFormat()` Access the numerator format.
    `protected static void` | `parseAndIgnoreWhitespace(java.lang.String source, java.text.ParsePosition pos)` Parses `source` until a non-whitespace character is found.
    `protected static char` | `parseNextCharacter(java.lang.String source, java.text.ParsePosition pos)` Parses `source` until a non-whitespace character is found.
    `void` | `setDenominatorFormat(java.text.NumberFormat format)` Modify the denominator format.
    `void` | `setNumeratorFormat(java.text.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`

- - ### Field Detail

    - #### serialVersionUID

          private static final long serialVersionUID

      Serializable version identifier.
      See Also:
        Constant Field Values

    - #### denominatorFormat

          private java.text.NumberFormat denominatorFormat

      The format used for the denominator.

    - #### numeratorFormat

          private java.text.NumberFormat numeratorFormat

      The format used for the numerator.

  - ### Constructor Detail

    - #### AbstractFormat

          protected AbstractFormat()

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

    - #### AbstractFormat

          protected AbstractFormat(java.text.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(java.text.NumberFormat numeratorFormat,
                        java.text.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 java.text.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 java.text.NumberFormat getDefaultNumberFormat(java.util.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 java.text.NumberFormat getDenominatorFormat()

      Access the denominator format.
      Returns:
        the denominator format.

    - #### getNumeratorFormat

          public java.text.NumberFormat getNumeratorFormat()

      Access the numerator format.
      Returns:
        the numerator format.

    - #### setDenominatorFormat

          public void setDenominatorFormat(java.text.NumberFormat format)

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

    - #### setNumeratorFormat

          public void setNumeratorFormat(java.text.NumberFormat format)

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

    - #### parseAndIgnoreWhitespace

          protected static void parseAndIgnoreWhitespace(java.lang.String source,
                                      java.text.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(java.lang.String source,
                                java.text.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 java.lang.StringBuffer format(double value,
                                      java.lang.StringBuffer buffer,
                                      java.text.FieldPosition position)

      Formats a double value as a fraction and appends the result to a StringBuffer.
      Specified by:
        `format` in class `java.text.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 java.lang.StringBuffer format(long value,
                                      java.lang.StringBuffer buffer,
                                      java.text.FieldPosition position)

      Formats a long value as a fraction and appends the result to a StringBuffer.
      Specified by:
        `format` in class `java.text.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 (c) 2003-2013 Apache Software Foundation