com.ibm.icu.text
Class NumberFormat.NumberFormatFactory

java.lang.Object
  extended by com.ibm.icu.text.NumberFormat.NumberFormatFactory
Direct Known Subclasses:
NumberFormat.SimpleNumberFormatFactory
Enclosing class:
NumberFormat

public abstract static class NumberFormat.NumberFormatFactory
extends Object

A NumberFormatFactory is used to register new number formats. The factory should be able to create any of the predefined formats for each locale it supports. When registered, the locales it supports extend or override the locales already supported by ICU.

Note: as of ICU4J 3.2, the default API for NumberFormatFactory uses ULocale instead of Locale. Instead of overriding createFormat(Locale, int), new implementations should override createFactory(ULocale, int). Note that one of these two methods MUST be overridden or else an infinite loop will occur.

Status:
Stable ICU 2.6.

Field Summary
static int FORMAT_CURRENCY
          Value passed to format requesting a currency format.
static int FORMAT_INTEGER
          Value passed to format requesting an integer format.
static int FORMAT_NUMBER
          Value passed to format requesting a default number format.
static int FORMAT_PERCENT
          Value passed to format requesting a percent format.
static int FORMAT_SCIENTIFIC
          Value passed to format requesting a scientific format.
 
Constructor Summary
protected NumberFormat.NumberFormatFactory()
           
 
Method Summary
 NumberFormat createFormat(Locale loc, int formatType)
          Returns a number format of the appropriate type.
 NumberFormat createFormat(ULocale loc, int formatType)
          Returns a number format of the appropriate type.
abstract  Set getSupportedLocaleNames()
          Returns an immutable collection of the locale names directly supported by this factory.
 boolean visible()
          Returns true if this factory is visible.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FORMAT_NUMBER

public static final int FORMAT_NUMBER
Value passed to format requesting a default number format.

See Also:
Constant Field Values
Status:
Stable ICU 2.6.

FORMAT_CURRENCY

public static final int FORMAT_CURRENCY
Value passed to format requesting a currency format.

See Also:
Constant Field Values
Status:
Stable ICU 2.6.

FORMAT_PERCENT

public static final int FORMAT_PERCENT
Value passed to format requesting a percent format.

See Also:
Constant Field Values
Status:
Stable ICU 2.6.

FORMAT_SCIENTIFIC

public static final int FORMAT_SCIENTIFIC
Value passed to format requesting a scientific format.

See Also:
Constant Field Values
Status:
Stable ICU 2.6.

FORMAT_INTEGER

public static final int FORMAT_INTEGER
Value passed to format requesting an integer format.

See Also:
Constant Field Values
Status:
Stable ICU 2.6.
Constructor Detail

NumberFormat.NumberFormatFactory

protected NumberFormat.NumberFormatFactory()
Status:
Stable ICU 2.6.
Method Detail

visible

public boolean visible()
Returns true if this factory is visible. Default is true. If not visible, the locales supported by this factory will not be listed by getAvailableLocales. This value must not change.

Returns:
true if the factory is visible.
Status:
Stable ICU 2.6.

getSupportedLocaleNames

public abstract Set getSupportedLocaleNames()
Returns an immutable collection of the locale names directly supported by this factory.

Returns:
the supported locale names.
Status:
Stable ICU 2.6.

createFormat

public NumberFormat createFormat(ULocale loc,
                                 int formatType)
Returns a number format of the appropriate type. If the locale is not supported, return null. If the locale is supported, but the type is not provided by this service, return null. Otherwise return an appropriate instance of NumberFormat. Note: as of ICU4J 3.2, implementations should override this method instead of createFormat(Locale, int).

Parameters:
loc - the locale for which to create the format
formatType - the type of format
Returns:
the NumberFormat, or null.
Status:
Stable ICU 3.2.

createFormat

public NumberFormat createFormat(Locale loc,
                                 int formatType)
Returns a number format of the appropriate type. If the locale is not supported, return null. If the locale is supported, but the type is not provided by this service, return null. Otherwise return an appropriate instance of NumberFormat. Note: as of ICU4J 3.2, createFormat(ULocale, int) should be overridden instead of this method. This method is no longer abstract and delegates to that method.

Parameters:
loc - the locale for which to create the format
formatType - the type of format
Returns:
the NumberFormat, or null.
Status:
Stable ICU 2.6.


Copyright (c) 2009 IBM Corporation and others.