Class 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.

    See Also:
    Serialized Form
    • 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.
        Throws:
        NullArgumentException - if the provided format is null.
      • 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.
        Throws:
        NullArgumentException - if either provided format is null.
    • 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.
      • 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.
      • 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.