org.apache.commons.math3.fraction
Class ProperBigFractionFormat

java.lang.Object
  extended by java.text.Format
      extended by java.text.NumberFormat
          extended by org.apache.commons.math3.fraction.AbstractFormat
              extended by org.apache.commons.math3.fraction.BigFractionFormat
                  extended by org.apache.commons.math3.fraction.ProperBigFractionFormat
All Implemented Interfaces:
Serializable, Cloneable

public class ProperBigFractionFormat
extends BigFractionFormat

Formats a BigFraction number in proper format. The number format for each of the whole number, numerator and, denominator can be configured.

Minus signs are only allowed in the whole number part - i.e., "-3 1/2" is legitimate and denotes -7/2, but "-3 -1/2" is invalid and will result in a ParseException.

Since:
1.1
Version:
$Id: ProperBigFractionFormat.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
NumberFormat.Field
 
Field Summary
 
Fields inherited from class java.text.NumberFormat
FRACTION_FIELD, INTEGER_FIELD
 
Constructor Summary
ProperBigFractionFormat()
          Create a proper formatting instance with the default number format for the whole, numerator, and denominator.
ProperBigFractionFormat(NumberFormat format)
          Create a proper formatting instance with a custom number format for the whole, numerator, and denominator.
ProperBigFractionFormat(NumberFormat wholeFormat, NumberFormat numeratorFormat, NumberFormat denominatorFormat)
          Create a proper formatting instance with a custom number format for each of the whole, numerator, and denominator.
 
Method Summary
 StringBuffer format(BigFraction fraction, StringBuffer toAppendTo, FieldPosition pos)
          Formats a BigFraction object to produce a string.
 NumberFormat getWholeFormat()
          Access the whole format.
 BigFraction parse(String source, ParsePosition pos)
          Parses a string to produce a BigFraction object.
 void setWholeFormat(NumberFormat format)
          Modify the whole format.
 
Methods inherited from class org.apache.commons.math3.fraction.BigFractionFormat
format, formatBigFraction, getAvailableLocales, getImproperInstance, getImproperInstance, getProperInstance, getProperInstance, parse, parseNextBigInteger
 
Methods inherited from class org.apache.commons.math3.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
 

Constructor Detail

ProperBigFractionFormat

public ProperBigFractionFormat()
Create a proper formatting instance with the default number format for the whole, numerator, and denominator.


ProperBigFractionFormat

public ProperBigFractionFormat(NumberFormat format)
Create a proper formatting instance with a custom number format for the whole, numerator, and denominator.

Parameters:
format - the custom format for the whole, numerator, and denominator.

ProperBigFractionFormat

public ProperBigFractionFormat(NumberFormat wholeFormat,
                               NumberFormat numeratorFormat,
                               NumberFormat denominatorFormat)
Create a proper formatting instance with a custom number format for each of the whole, numerator, and denominator.

Parameters:
wholeFormat - the custom format for the whole.
numeratorFormat - the custom format for the numerator.
denominatorFormat - the custom format for the denominator.
Method Detail

format

public StringBuffer format(BigFraction fraction,
                           StringBuffer toAppendTo,
                           FieldPosition pos)
Formats a BigFraction object to produce a string. The BigFraction is output in proper format.

Overrides:
format in class BigFractionFormat
Parameters:
fraction - 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.

getWholeFormat

public NumberFormat getWholeFormat()
Access the whole format.

Returns:
the whole format.

parse

public BigFraction parse(String source,
                         ParsePosition pos)
Parses a string to produce a BigFraction object. This method expects the string to be formatted as a proper BigFraction.

Minus signs are only allowed in the whole number part - i.e., "-3 1/2" is legitimate and denotes -7/2, but "-3 -1/2" is invalid and will result in a ParseException.

Overrides:
parse in class BigFractionFormat
Parameters:
source - the string to parse
pos - input/ouput parsing parameter.
Returns:
the parsed BigFraction object.

setWholeFormat

public void setWholeFormat(NumberFormat format)
Modify the whole format.

Parameters:
format - The new whole format value.
Throws:
NullArgumentException - if format is null.


Copyright © 2003-2012 The Apache Software Foundation. All Rights Reserved.