Package 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
See Also:
  - Serialized Form

## Nested Class Summary

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

`NumberFormat.Field, NumberFormat.Style`

## Field Summary

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

`FRACTION_FIELD, INTEGER_FIELD`

## Constructor Summary

Constructors
Modifier
Constructor
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

Modifier and Type
Method
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, getCompactNumberInstance, getCompactNumberInstance, 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 Details

### 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 Details

### 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)`