org.apache.commons.math.fraction

## Class BigFractionFormat

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

All Implemented Interfaces:
  java.io.Serializable, java.lang.Cloneable

Direct Known Subclasses:
  ProperBigFractionFormat

    public class BigFractionFormat
    extends AbstractFormat
    implements java.io.Serializable

Formats a BigFraction number in proper format or improper format.

The number format for each of the whole number, numerator and, denominator can be configured.

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

`java.text.NumberFormat.Field`

### Field Summary

Fields
`private static long` `serialVersionUID` Serializable version identifier

### Fields inherited from class org.apache.commons.math.fraction.AbstractFormat

`denominatorFormat, numeratorFormat`

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

`FRACTION_FIELD, INTEGER_FIELD`

### Constructor Summary

Constructors
Constructor and Description
`BigFractionFormat()` Create an improper formatting instance with the default number format for the numerator and denominator.
`BigFractionFormat(java.text.NumberFormat format)` Create an improper formatting instance with a custom number format for both the numerator and denominator.
`BigFractionFormat(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
`java.lang.StringBuffer` `format(BigFraction BigFraction, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)` Formats a `BigFraction` object to produce a string.
`java.lang.StringBuffer` `format(java.lang.Object obj, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)` Formats an object and appends the result to a StringBuffer.
`static java.lang.String` `formatBigFraction(BigFraction f)` This static method calls formatBigFraction() on a default instance of BigFractionFormat.
`static java.util.Locale[]` `getAvailableLocales()` Get the set of locales for which complex formats are available.
`static BigFractionFormat` `getImproperInstance()` Returns the default complex format for the current locale.
`static BigFractionFormat` `getImproperInstance(java.util.Locale locale)` Returns the default complex format for the given locale.
`static BigFractionFormat` `getProperInstance()` Returns the default complex format for the current locale.
`static BigFractionFormat` `getProperInstance(java.util.Locale locale)` Returns the default complex format for the given locale.
`BigFraction` `parse(java.lang.String source)` Parses a string to produce a `BigFraction` object.
`BigFraction` `parse(java.lang.String source, java.text.ParsePosition pos)` Parses a string to produce a `BigFraction` object.
`protected java.math.BigInteger` `parseNextBigInteger(java.lang.String source, java.text.ParsePosition pos)` Parses a string to produce a `BigInteger`.

### Methods inherited from class org.apache.commons.math.fraction.AbstractFormat

`format, format, getDefaultNumberFormat, getDefaultNumberFormat, getDenominatorFormat, getNumeratorFormat, parseAndIgnoreWhitespace, parseNextCharacter, setDenominatorFormat, setNumeratorFormat`

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

`clone, equals, format, format, getCurrency, getCurrencyInstance, getCurrencyInstance, getInstance, getInstance, getIntegerInstance, getIntegerInstance, getMaximumFractionDigits, getMaximumIntegerDigits, getMinimumFractionDigits, getMinimumIntegerDigits, getNumberInstance, getNumberInstance, getPercentInstance, getPercentInstance, getRoundingMode, hashCode, isGroupingUsed, isParseIntegerOnly, 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

### Constructor Detail

#### BigFractionFormat

    public BigFractionFormat()

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

#### BigFractionFormat

    public BigFractionFormat(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.

#### BigFractionFormat

    public BigFractionFormat(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

#### getAvailableLocales

    public static java.util.Locale[] getAvailableLocales()

Get the set of locales for which complex formats are available. This is the same set as the `NumberFormat` set.

Returns:
  available complex format locales.

#### formatBigFraction

    public static java.lang.String formatBigFraction(BigFraction f)

This static method calls formatBigFraction() on a default instance of BigFractionFormat.

Parameters:
  `f` - BigFraction object to format
Returns:
  A formatted BigFraction in proper form.

#### getImproperInstance

    public static BigFractionFormat getImproperInstance()

Returns the default complex format for the current locale.

Returns:
  the default complex format.

#### getImproperInstance

    public static BigFractionFormat getImproperInstance(java.util.Locale locale)

Returns the default complex format for the given locale.

Parameters:
  `locale` - the specific locale used by the format.
Returns:
  the complex format specific to the given locale.

#### getProperInstance

    public static BigFractionFormat getProperInstance()

Returns the default complex format for the current locale.

Returns:
  the default complex format.

#### getProperInstance

    public static BigFractionFormat getProperInstance(java.util.Locale locale)

Returns the default complex format for the given locale.

Parameters:
  `locale` - the specific locale used by the format.
Returns:
  the complex format specific to the given locale.

#### format

    public java.lang.StringBuffer format(BigFraction BigFraction,
                                java.lang.StringBuffer toAppendTo,
                                java.text.FieldPosition pos)

Formats a `BigFraction` object to produce a string. The BigFraction is output in improper format.

Parameters:
  `BigFraction` - the object to format.
  `toAppendTo` - where the text is to be appended
  `pos` - On input: an alignment field, if desired. On output: the offsets of the alignment field
Returns:
  the value passed in as toAppendTo.

#### format

    public java.lang.StringBuffer format(java.lang.Object obj,
                                java.lang.StringBuffer toAppendTo,
                                java.text.FieldPosition pos)

Formats an object and appends the result to a StringBuffer. `obj` must be either a `BigFraction` object or a `BigInteger` object or a `Number` object. Any other type of object will result in an `IllegalArgumentException` being thrown.

Overrides:
  `format` in class `java.text.NumberFormat`
Parameters:
  `obj` - the object to format.
  `toAppendTo` - where the text is to be appended
  `pos` - On input: an alignment field, if desired. On output: the offsets of the alignment field
Returns:
  the value passed in as toAppendTo.
Throws:
  `java.lang.IllegalArgumentException` - is `obj` is not a valid type.
See Also:
  `Format.format(java.lang.Object, java.lang.StringBuffer, java.text.FieldPosition)`

#### parse

    public BigFraction parse(java.lang.String source)
                      throws java.text.ParseException

Parses a string to produce a `BigFraction` object.

Overrides:
  `parse` in class `java.text.NumberFormat`
Parameters:
  `source` - the string to parse
Returns:
  the parsed `BigFraction` object.
Throws:
  `java.text.ParseException` - if the beginning of the specified string cannot be parsed.

#### parse

    public BigFraction parse(java.lang.String source,
                    java.text.ParsePosition pos)

Parses a string to produce a `BigFraction` object. This method expects the string to be formatted as an improper BigFraction.

Specified by:
  `parse` in class `java.text.NumberFormat`
Parameters:
  `source` - the string to parse
  `pos` - input/ouput parsing parameter.
Returns:
  the parsed `BigFraction` object.

#### parseNextBigInteger

    protected java.math.BigInteger parseNextBigInteger(java.lang.String source,
                                           java.text.ParsePosition pos)

Parses a string to produce a `BigInteger`.

Parameters:
  `source` - the string to parse
  `pos` - input/ouput parsing parameter.
Returns:
  a parsed `BigInteger` or null if string does not contain a BigInteger at the specified position