org.apache.commons.math.fraction

## Class AbstractFormat

- java.lang.Object
- - java.text.Format
  - - java.text.NumberFormat
    - - org.apache.commons.math.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:
  $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.NumberFormat

`NumberFormat.Field`

### Field Summary

Fields
`protected NumberFormat` `denominatorFormat` The format used for the denominator.
`protected 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
`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
`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`

### Field Detail

#### serialVersionUID

    private static final long serialVersionUID

Serializable version identifier.

See Also:
  Constant Field Values

#### denominatorFormat

    protected NumberFormat denominatorFormat

The format used for the denominator.

#### numeratorFormat

    protected 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(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)` with the only customizing 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)` with the only customizing 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/ouput 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/ouput 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)`