Class AbstractFormat

java.lang.Object
java.text.Format
java.text.NumberFormat
org.apache.commons.numbers.fraction.AbstractFormat
All Implemented Interfaces:
java.io.Serializable, java.lang.Cloneable
Direct Known Subclasses:
BigFractionFormat, FractionFormat

public abstract class AbstractFormat
extends java.text.NumberFormat
implements java.io.Serializable
Common part shared by both FractionFormat and BigFractionFormat.
See Also:
Serialized Form
  • Nested Class Summary

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

    java.text.NumberFormat.Field, java.text.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​(java.text.NumberFormat format)
    Create an improper formatting instance with a custom number format for both the numerator and denominator.
    protected AbstractFormat​(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

    Modifier and Type Method Description
    java.lang.StringBuffer format​(double value, java.lang.StringBuffer buffer, java.text.FieldPosition position)
    Formats a double value as a fraction and appends the result to a StringBuffer.
    java.lang.StringBuffer format​(long value, java.lang.StringBuffer buffer, java.text.FieldPosition position)
    Formats a long value as a fraction and appends the result to a StringBuffer.
    protected static java.text.NumberFormat getDefaultNumberFormat()
    Create a default number format.
    protected static java.text.NumberFormat getDefaultNumberFormat​(java.util.Locale locale)
    Create a default number format.
    java.text.NumberFormat getDenominatorFormat()
    Access the denominator format.
    java.text.NumberFormat getNumeratorFormat()
    Access the numerator format.
    protected static void parseAndIgnoreWhitespace​(java.lang.String source, java.text.ParsePosition pos)
    Parses source until a non-whitespace character is found.
    protected static char parseNextCharacter​(java.lang.String source, java.text.ParsePosition pos)
    Parses source until a non-whitespace character is found.
    void setDenominatorFormat​(java.text.NumberFormat format)
    Modify the denominator format.
    void setNumeratorFormat​(java.text.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​(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.
    • AbstractFormat

      protected AbstractFormat​(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 Details

    • getDefaultNumberFormat

      protected static java.text.NumberFormat getDefaultNumberFormat()
      Create a default number format. The default number format is based on NumberFormat.getNumberInstance(Locale). The only customization is the maximum number of BigFraction digits, which is set to 0.
      Returns:
      the default number format.
    • getDefaultNumberFormat

      protected static java.text.NumberFormat getDefaultNumberFormat​(java.util.Locale locale)
      Create a default number format. The default number format is based on NumberFormat.getNumberInstance(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 java.text.NumberFormat getDenominatorFormat()
      Access the denominator format.
      Returns:
      the denominator format.
    • getNumeratorFormat

      public java.text.NumberFormat getNumeratorFormat()
      Access the numerator format.
      Returns:
      the numerator format.
    • setDenominatorFormat

      public void setDenominatorFormat​(java.text.NumberFormat format)
      Modify the denominator format.
      Parameters:
      format - the new denominator format value.
      Throws:
      java.lang.NullPointerException - if format is null.
    • setNumeratorFormat

      public void setNumeratorFormat​(java.text.NumberFormat format)
      Modify the numerator format.
      Parameters:
      format - the new numerator format value.
      Throws:
      java.lang.NullPointerException - if format is null.
    • parseAndIgnoreWhitespace

      protected static void parseAndIgnoreWhitespace​(java.lang.String source, java.text.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​(java.lang.String source, java.text.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 java.lang.StringBuffer format​(double value, java.lang.StringBuffer buffer, java.text.FieldPosition position)
      Formats a double value as a fraction and appends the result to a StringBuffer.
      Specified by:
      format in class java.text.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 java.lang.StringBuffer format​(long value, java.lang.StringBuffer buffer, java.text.FieldPosition position)
      Formats a long value as a fraction and appends the result to a StringBuffer.
      Specified by:
      format in class java.text.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)