## 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:
  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:
  $Revision: 811685 $ $Date: 2009-09-05 13:36:48 -0400 (Sat, 05 Sep 2009) $
See Also:
  Serialized Form

Nested Class Summary

Nested classes/interfaces inherited from class java.text.NumberFormat
`java.text.NumberFormat.Field`

Field Summary
`protected java.text.NumberFormat` `denominatorFormat` The format used for the denominator.
`protected 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
`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
`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

    protected java.text.NumberFormat denominatorFormat

  The format used for the denominator.

### numeratorFormat

    protected 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)` with the only customizing 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)` 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 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:
    `java.lang.IllegalArgumentException` - if `format` is `null`.

### setNumeratorFormat

    public void setNumeratorFormat(java.text.NumberFormat format)

  Modify the numerator format.

  Parameters:
    `format` - the new numerator format value.
  Throws:
    `java.lang.IllegalArgumentException` - 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/ouput 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/ouput 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-2010 Apache Software Foundation