Class ProperFractionFormat

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

    public class ProperFractionFormat
    extends FractionFormat
    Formats a Fraction 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
    See Also:
    Serialized Form
    • Nested Class Summary

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

        java.text.NumberFormat.Field
    • Field Summary

      • Fields inherited from class java.text.NumberFormat

        FRACTION_FIELD, INTEGER_FIELD
    • Constructor Summary

      Constructors 
      Constructor Description
      ProperFractionFormat()
      Create a proper formatting instance with the default number format for the whole, numerator, and denominator.
      ProperFractionFormat​(java.text.NumberFormat format)
      Create a proper formatting instance with a custom number format for the whole, numerator, and denominator.
      ProperFractionFormat​(java.text.NumberFormat wholeFormat, java.text.NumberFormat numeratorFormat, java.text.NumberFormat denominatorFormat)
      Create a proper formatting instance with a custom number format for each of the whole, numerator, and denominator.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.lang.StringBuffer format​(Fraction fraction, java.lang.StringBuffer toAppendTo, java.text.FieldPosition pos)
      Formats a Fraction object to produce a string.
      java.text.NumberFormat getWholeFormat()
      Access the whole format.
      Fraction parse​(java.lang.String source, java.text.ParsePosition pos)
      Parses a string to produce a Fraction object.
      void setWholeFormat​(java.text.NumberFormat format)
      Modify the whole format.
      • 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

        getClass, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ProperFractionFormat

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

        public ProperFractionFormat​(java.text.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.
      • ProperFractionFormat

        public ProperFractionFormat​(java.text.NumberFormat wholeFormat,
                                    java.text.NumberFormat numeratorFormat,
                                    java.text.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 java.lang.StringBuffer format​(Fraction fraction,
                                             java.lang.StringBuffer toAppendTo,
                                             java.text.FieldPosition pos)
        Formats a Fraction object to produce a string. The fraction is output in proper format.
        Overrides:
        format in class FractionFormat
        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 java.text.NumberFormat getWholeFormat()
        Access the whole format.
        Returns:
        the whole format.
      • parse

        public Fraction parse​(java.lang.String source,
                              java.text.ParsePosition pos)
        Parses a string to produce a Fraction object. This method expects the string to be formatted as a proper fraction.

        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 FractionFormat
        Parameters:
        source - the string to parse
        pos - input/ouput parsing parameter.
        Returns:
        the parsed Fraction object.
      • setWholeFormat

        public void setWholeFormat​(java.text.NumberFormat format)
        Modify the whole format.
        Parameters:
        format - The new whole format value.
        Throws:
        NullArgumentException - if format is null.