Class ChoiceFormat

All Implemented Interfaces:
Serializable, Cloneable

public class ChoiceFormat extends NumberFormat

Picks a string by the range a number falls in. It is what the choice element of a MessageFormat pattern uses to write plurals.

A pattern is a list of limit#text pairs separated by |, the limits ascending: 0#no files|1#one file|1<{0} files. A number selects the last pair whose limit it reaches; # includes the limit itself and < starts just above it. A number below the first limit selects the first pair. A single quote makes the characters up to the next one literal, and two in a row stand for one quote.

See Also:
  • Constructor Details

    • ChoiceFormat

      public ChoiceFormat(String newPattern)
    • ChoiceFormat

      public ChoiceFormat(double[] limits, String[] formats)
  • Method Details

    • applyPattern

      public void applyPattern(String newPattern)
    • toPattern

      public String toPattern()
    • setChoices

      public void setChoices(double[] limits, String[] formats)
    • getLimits

      public double[] getLimits()
    • getFormats

      public Object[] getFormats()
    • format

      public StringBuffer format(long number, StringBuffer toAppendTo, FieldPosition status)
      Specified by:
      format in class NumberFormat
    • format

      public StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition status)
      Specified by:
      format in class NumberFormat
    • parse

      public Number parse(String text, ParsePosition status)
      Finds the choice whose text starts at the position, the longest if several do, and answers its limit as a Double. When none does, the error index is set and the answer is not-a-number.
      Specified by:
      parse in class NumberFormat
    • nextDouble

      public static final double nextDouble(double d)
    • previousDouble

      public static final double previousDouble(double d)
    • nextDouble

      public static double nextDouble(double d, boolean positive)
      The double next to d: the next greater when positive, else the next smaller.
    • clone

      public Object clone()
      A copy of this format, built from copies of its arrays: Object.clone() answers null on the device for anything but an array.
      Specified by:
      clone in class NumberFormat
    • hashCode

      public int hashCode()
      Description copied from class: Object
      Returns a hash code value for the object. This method is supported for the benefit of hashtables such as those provided by java.util.Hashtable. The general contract of hashCode is: Whenever it is invoked on the same object more than once during an execution of a Java application, the hashCode method must consistently return the same integer, provided no information used in equals comparisons on the object is modified. This integer need not remain consistent from one execution of an application to another execution of the same application. If two objects are equal according to the equals(Object) method, then calling the hashCode method on each of the two objects must produce the same integer result. It is not required that if two objects are unequal according to the equals(java.lang.Object) method, then calling the hashCode method on each of the two objects must produce distinct integer results. However, the programmer should be aware that producing distinct integer results for unequal objects may improve the performance of hashtables. As much as is reasonably practical, the hashCode method defined by class Object does return distinct integers for distinct objects. (This is typically implemented by converting the internal address of the object into an integer, but this implementation technique is not required by the JavaTM programming language.)
      Overrides:
      hashCode in class NumberFormat
    • equals

      public boolean equals(Object obj)
      Description copied from class: Object
      Indicates whether some other object is "equal to" this one. The equals method implements an equivalence relation: It is reflexive: for any reference value x, x.equals(x) should return true. It is symmetric: for any reference values x and y, x.equals(y) should return true if and only if y.equals(x) returns true. It is transitive: for any reference values x, y, and z, if x.equals(y) returns true and y.equals(z) returns true, then x.equals(z) should return true. It is consistent: for any reference values x and y, multiple invocations of x.equals(y) consistently return true or consistently return false, provided no information used in equals comparisons on the object is modified. For any non-null reference value x, x.equals(null) should return false. The equals method for class Object implements the most discriminating possible equivalence relation on objects; that is, for any reference values x and y, this method returns true if and only if x and y refer to the same object (x==y has the value true).
      Overrides:
      equals in class NumberFormat