Java Doc for ChoiceFormat.java in  » 6.0-JDK-Modules » j2me » java » text » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » 6.0 JDK Modules » j2me » java.text 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   java.text.Format
      java.text.NumberFormat
         java.text.ChoiceFormat

ChoiceFormat
public class ChoiceFormat extends NumberFormat (Code)
A ChoiceFormat allows you to attach a format to a range of numbers. It is generally used in a MessageFormat for handling plurals. The choice is specified with an ascending list of doubles, where each item specifies a half-open interval up to the next item:
 X matches j if and only if limit[j] <= X < limit[j+1]
 
If there is no match, then either the first or last index is used, depending on whether the number (X) is too low or too high. If the limit array is not in ascending order, the results of formatting will be incorrect. ChoiceFormat also accepts \u221E as equivalent to infinity(INF).

Note: ChoiceFormat differs from the other Format classes in that you create a ChoiceFormat object with a constructor (not with a getInstance style factory method). The factory methods aren't necessary because ChoiceFormat doesn't require any complex setup for a given locale. In fact, ChoiceFormat doesn't implement any locale specific behavior.

When creating a ChoiceFormat, you must specify an array of formats and an array of limits. The length of these arrays must be the same. For example,

  • limits = {1,2,3,4,5,6,7}
    formats = {"Sun","Mon","Tue","Wed","Thur","Fri","Sat"}
  • limits = {0, 1, ChoiceFormat.nextDouble(1)}
    formats = {"no files", "one file", "many files"}
    (nextDouble can be used to get the next higher double, to make the half-open interval.)

Here is a simple example that shows formatting and parsing:

 double[] limits = {1,2,3,4,5,6,7};
 String[] monthNames = {"Sun","Mon","Tue","Wed","Thur","Fri","Sat"};
 ChoiceFormat form = new ChoiceFormat(limits, monthNames);
 ParsePosition status = new ParsePosition(0);
 for (double i = 0.0; i <= 8.0; ++i) {
 status.setIndex(0);
 System.out.println(i + " -> " + form.format(i) + " -> "
 + form.parse(form.format(i),status));
 }
 
Here is a more complex example, with a pattern format:
 double[] filelimits = {0,1,2};
 String[] filepart = {"are no files","is one file","are {2} files"};
 ChoiceFormat fileform = new ChoiceFormat(filelimits, filepart);
 Format[] testFormats = {fileform, null, NumberFormat.getInstance()};
 MessageFormat pattform = new MessageFormat("There {0} on {1}");
 pattform.setFormats(testFormats);
 Object[] testArgs = {null, "ADisk", null};
 for (int i = 0; i < 4; ++i) {
 testArgs[0] = new Integer(i);
 testArgs[2] = testArgs[0];
 System.out.println(pattform.format(testArgs));
 }
 

Specifying a pattern for ChoiceFormat objects is fairly straightforward. For example:

 ChoiceFormat fmt = new ChoiceFormat(
 "-1#is negative| 0#is zero or fraction | 1#is one |1.0<is 1+ |2#is two |2<is more than 2.");
 System.out.println("Formatter Pattern : " + fmt.toPattern());
 System.out.println("Format with -INF : " + fmt.format(Double.NEGATIVE_INFINITY));
 System.out.println("Format with -1.0 : " + fmt.format(-1.0));
 System.out.println("Format with 0 : " + fmt.format(0));
 System.out.println("Format with 0.9 : " + fmt.format(0.9));
 System.out.println("Format with 1.0 : " + fmt.format(1));
 System.out.println("Format with 1.5 : " + fmt.format(1.5));
 System.out.println("Format with 2 : " + fmt.format(2));
 System.out.println("Format with 2.1 : " + fmt.format(2.1));
 System.out.println("Format with NaN : " + fmt.format(Double.NaN));
 System.out.println("Format with +INF : " + fmt.format(Double.POSITIVE_INFINITY));
 
And the output result would be like the following:
 
Format with -INF : is negative Format with -1.0 : is negative Format with 0 : is zero or fraction Format with 0.9 : is zero or fraction Format with 1.0 : is one Format with 1.5 : is 1+ Format with 2 : is two Format with 2.1 : is more than 2. Format with NaN : is negative Format with +INF : is more than 2.

Synchronization

Choice formats are not synchronized. It is recommended to create separate format instances for each thread. If multiple threads access a format concurrently, it must be synchronized externally.
See Also:   DecimalFormat
See Also:   MessageFormat
version:
   1.34, 10/10/06



Field Summary
final static  longEXPONENT
    
final static  longPOSITIVEINFINITY
    
final static  longSIGN
    

Constructor Summary
public  ChoiceFormat(String newPattern)
     Constructs with limits and corresponding formats based on the pattern.
public  ChoiceFormat(double[] limits, String[] formats)
     Constructs with the limits and the corresponding formats.

Method Summary
public  voidapplyPattern(String newPattern)
     Sets the pattern.
public  Objectclone()
    
public  booleanequals(Object obj)
    
public  StringBufferformat(long number, StringBuffer toAppendTo, FieldPosition status)
     Specialization of format.
public  StringBufferformat(double number, StringBuffer toAppendTo, FieldPosition status)
     Returns pattern with formatted double.
public  Object[]getFormats()
     Get the formats passed in the constructor.
public  double[]getLimits()
     Get the limits passed in the constructor.
public  inthashCode()
     Generates a hash code for the message format object.
final public static  doublenextDouble(double d)
     Finds the least double greater than d.
public static  doublenextDouble(double d, boolean positive)
     Finds the least double greater than d (if positive == true), or the greatest double less than d (if positive == false).
public  Numberparse(String text, ParsePosition status)
     Parses a Number from the input text.
Parameters:
  text - the source text.
Parameters:
  status - an input-output parameter.
final public static  doublepreviousDouble(double d)
     Finds the greatest double less than d.
public  voidsetChoices(double[] limits, String formats)
     Set the choices to be used in formatting.
Parameters:
  limits - contains the top value that you wantparsed with that format,and should be in ascending sorted order.
public  StringtoPattern()
     Gets the pattern.

Field Detail
EXPONENT
final static long EXPONENT(Code)



POSITIVEINFINITY
final static long POSITIVEINFINITY(Code)



SIGN
final static long SIGN(Code)




Constructor Detail
ChoiceFormat
public ChoiceFormat(String newPattern)(Code)
Constructs with limits and corresponding formats based on the pattern.
See Also:   ChoiceFormat.applyPattern



ChoiceFormat
public ChoiceFormat(double[] limits, String[] formats)(Code)
Constructs with the limits and the corresponding formats.
See Also:   ChoiceFormat.setChoices




Method Detail
applyPattern
public void applyPattern(String newPattern)(Code)
Sets the pattern.
Parameters:
  newPattern - See the class description.



clone
public Object clone()(Code)
Overrides Cloneable



equals
public boolean equals(Object obj)(Code)
Equality comparision between two



format
public StringBuffer format(long number, StringBuffer toAppendTo, FieldPosition status)(Code)
Specialization of format. This method really calls format(double, StringBuffer, FieldPosition) thus the range of longs that are supported is only equal to the range that can be stored by double. This will never be a practical limitation.



format
public StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition status)(Code)
Returns pattern with formatted double.
Parameters:
  number - number to be formatted & substituted.
Parameters:
  toAppendTo - where text is appended.
Parameters:
  status - ignore no useful status is returned.



getFormats
public Object[] getFormats()(Code)
Get the formats passed in the constructor. the formats.



getLimits
public double[] getLimits()(Code)
Get the limits passed in the constructor. the limits.



hashCode
public int hashCode()(Code)
Generates a hash code for the message format object.



nextDouble
final public static double nextDouble(double d)(Code)
Finds the least double greater than d. If NaN, returns same value.

Used to make half-open intervals.
See Also:   ChoiceFormat.previousDouble




nextDouble
public static double nextDouble(double d, boolean positive)(Code)
Finds the least double greater than d (if positive == true), or the greatest double less than d (if positive == false). If NaN, returns same value. Does not affect floating-point flags, provided these member functions do not: Double.longBitsToDouble(long) Double.doubleToLongBits(double) Double.isNaN(double)



parse
public Number parse(String text, ParsePosition status)(Code)
Parses a Number from the input text.
Parameters:
  text - the source text.
Parameters:
  status - an input-output parameter. On input, thestatus.index field indicates the first character of thesource text that should be parsed. On exit, if no erroroccured, status.index is set to the first unparsed characterin the source text. On exit, if an error did occur,status.index is unchanged and status.errorIndex is set to thefirst index of the character that caused the parse to fail. A Number representing the value of the number parsed.



previousDouble
final public static double previousDouble(double d)(Code)
Finds the greatest double less than d. If NaN, returns same value.
See Also:   ChoiceFormat.nextDouble



setChoices
public void setChoices(double[] limits, String formats)(Code)
Set the choices to be used in formatting.
Parameters:
  limits - contains the top value that you wantparsed with that format,and should be in ascending sorted order. Whenformatting X, the choice will be the i, wherelimit[i] <= X < limit[i+1].If the limit array is not in ascending order, the results of formattingwill be incorrect.
Parameters:
  formats - are the formats you want to use for each limit.They can be either Format objects or Strings.When formatting with object Y,if the object is a NumberFormat, then ((NumberFormat) Y).format(X)is called. Otherwise Y.toString() is called.



toPattern
public String toPattern()(Code)
Gets the pattern.



Fields inherited from java.text.NumberFormat
final public static int FRACTION_FIELD(Code)(Java Doc)
final public static int INTEGER_FIELD(Code)(Java Doc)
final static int currentSerialVersion(Code)(Java Doc)
final static long serialVersionUID(Code)(Java Doc)

Methods inherited from java.text.NumberFormat
public Object clone()(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
final public StringBuffer format(Object number, StringBuffer toAppendTo, FieldPosition pos)(Code)(Java Doc)
final public String format(double number)(Code)(Java Doc)
final public String format(long number)(Code)(Java Doc)
abstract public StringBuffer format(double number, StringBuffer toAppendTo, FieldPosition pos)(Code)(Java Doc)
abstract public StringBuffer format(long number, StringBuffer toAppendTo, FieldPosition pos)(Code)(Java Doc)
public static Locale[] getAvailableLocales()(Code)(Java Doc)
public Currency getCurrency()(Code)(Java Doc)
final public static NumberFormat getCurrencyInstance()(Code)(Java Doc)
public static NumberFormat getCurrencyInstance(Locale inLocale)(Code)(Java Doc)
final public static NumberFormat getInstance()(Code)(Java Doc)
public static NumberFormat getInstance(Locale inLocale)(Code)(Java Doc)
final public static NumberFormat getIntegerInstance()(Code)(Java Doc)
public static NumberFormat getIntegerInstance(Locale inLocale)(Code)(Java Doc)
public int getMaximumFractionDigits()(Code)(Java Doc)
public int getMaximumIntegerDigits()(Code)(Java Doc)
public int getMinimumFractionDigits()(Code)(Java Doc)
public int getMinimumIntegerDigits()(Code)(Java Doc)
final public static NumberFormat getNumberInstance()(Code)(Java Doc)
public static NumberFormat getNumberInstance(Locale inLocale)(Code)(Java Doc)
final public static NumberFormat getPercentInstance()(Code)(Java Doc)
public static NumberFormat getPercentInstance(Locale inLocale)(Code)(Java Doc)
final static NumberFormat getScientificInstance()(Code)(Java Doc)
static NumberFormat getScientificInstance(Locale inLocale)(Code)(Java Doc)
public int hashCode()(Code)(Java Doc)
public boolean isGroupingUsed()(Code)(Java Doc)
public boolean isParseIntegerOnly()(Code)(Java Doc)
abstract public Number parse(String source, ParsePosition parsePosition)(Code)(Java Doc)
public Number parse(String source) throws ParseException(Code)(Java Doc)
final public Object parseObject(String source, ParsePosition pos)(Code)(Java Doc)
public void setCurrency(Currency currency)(Code)(Java Doc)
public void setGroupingUsed(boolean newValue)(Code)(Java Doc)
public void setMaximumFractionDigits(int newValue)(Code)(Java Doc)
public void setMaximumIntegerDigits(int newValue)(Code)(Java Doc)
public void setMinimumFractionDigits(int newValue)(Code)(Java Doc)
public void setMinimumIntegerDigits(int newValue)(Code)(Java Doc)
public void setParseIntegerOnly(boolean value)(Code)(Java Doc)

Methods inherited from java.text.Format
public Object clone()(Code)(Java Doc)
AttributedCharacterIterator createAttributedCharacterIterator(String s)(Code)(Java Doc)
AttributedCharacterIterator createAttributedCharacterIterator(AttributedCharacterIterator[] iterators)(Code)(Java Doc)
AttributedCharacterIterator createAttributedCharacterIterator(String string, AttributedCharacterIterator.Attribute key, Object value)(Code)(Java Doc)
AttributedCharacterIterator createAttributedCharacterIterator(AttributedCharacterIterator iterator, AttributedCharacterIterator.Attribute key, Object value)(Code)(Java Doc)
final public String format(Object obj)(Code)(Java Doc)
abstract public StringBuffer format(Object obj, StringBuffer toAppendTo, FieldPosition pos)(Code)(Java Doc)
public AttributedCharacterIterator formatToCharacterIterator(Object obj)(Code)(Java Doc)
abstract public Object parseObject(String source, ParsePosition pos)(Code)(Java Doc)
public Object parseObject(String source) throws ParseException(Code)(Java Doc)

Methods inherited from java.lang.Object
public boolean equals(Object obj)(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.