Client and backend. This class is shared: the same code is compiled into your app and into your server, so everything on this page works in both.

public class ChoiceFormat

  1. Object
  2. Format
  3. NumberFormat
  4. ChoiceFormat

ImplementsCloneable, Serializable

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.

Constructors

public ChoiceFormat(String newPattern)
public ChoiceFormat(double[] limits, String[] formats)

Methods

public void applyPattern(String newPattern)
public String toPattern()
public void setChoices(double[] limits, String[] formats)
public double[] getLimits()
public Object[] getFormats()
public StringBuffer format(long number, StringBuffer toAppendTo, FieldPosition status)
public StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition status)
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.
public static final double nextDouble(double d)
public static final double previousDouble(double d)
public static double nextDouble(double d, boolean positive)The double next to d: the next greater when positive, else the next smaller.
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.
public int hashCode()Returns a hash code value for the object.
public boolean equals(Object obj)Indicates whether some other object is “equal to” this one.

Inherited fields

Inherited methods

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)

format

public StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition status)

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.

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.

hashCode

public int hashCode()
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.)

equals

public boolean equals(Object obj)
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).