public class GlobalizationPreferences extends Object implements Freezable<GlobalizationPreferences>
To reset any explicit field so that it will get heuristic values, pass in null. For example, myPreferences.setLocale(null);
All of the heuristics can be customized by subclasses, by overriding getTerritory(), guessCollator(), etc.
The class also supplies display names for languages, scripts, territories, currencies, timezones, etc. These are computed according to the locale/language preference list. Thus, if the preference is Breton; French; English, then the display name for a language will be returned in Breton if available, otherwise in French if available, otherwise in English.
The codes used to reference territory, currency, etc. are as defined elsewhere in ICU, and are taken from CLDR (which reflects RFC 3066bis usage, ISO 4217, and the TZ Timezone database identifiers).
This is at a prototype stage, and has not incorporated all the design changes that we would like yet; further feedback is welcome.
Note:Modifier and Type | Field and Description |
---|---|
static int |
BI_CHARACTER
Break iterator type
|
static int |
BI_LINE
Break iterator type
|
static int |
BI_SENTENCE
Break iterator type
|
static int |
BI_TITLE
Break iterator type
|
static int |
BI_WORD
Break iterator type
|
static int |
DF_FULL
Date Format type
|
static int |
DF_LONG
Date Format type
|
static int |
DF_MEDIUM
Date Format type
|
static int |
DF_NONE
Date Format type
|
static int |
DF_SHORT
Date Format type
|
static int |
ID_CURRENCY
For selecting a choice of display names
|
static int |
ID_CURRENCY_SYMBOL
For selecting a choice of display names
|
static int |
ID_KEYWORD
For selecting a choice of display names
|
static int |
ID_KEYWORD_VALUE
For selecting a choice of display names
|
static int |
ID_LANGUAGE
For selecting a choice of display names
|
static int |
ID_LOCALE
For selecting a choice of display names
|
static int |
ID_SCRIPT
For selecting a choice of display names
|
static int |
ID_TERRITORY
For selecting a choice of display names
|
static int |
ID_TIMEZONE
For selecting a choice of display names
|
static int |
ID_VARIANT
For selecting a choice of display names
|
static int |
NF_CURRENCY
Number Format type
|
static int |
NF_INTEGER
Number Format type
|
static int |
NF_NUMBER
Number Format type
|
static int |
NF_PERCENT
Number Format type
|
static int |
NF_SCIENTIFIC
Number Format type
|
Constructor and Description |
---|
GlobalizationPreferences()
Default constructor
|
Modifier and Type | Method and Description |
---|---|
GlobalizationPreferences |
cloneAsThawed()
Provides for the clone operation.
|
GlobalizationPreferences |
freeze()
Freezes the object.
|
BreakIterator |
getBreakIterator(int type)
Get a copy of the break iterator for the specified type according to the
settings.
|
Calendar |
getCalendar()
Get a copy of the calendar according to the settings.
|
Collator |
getCollator()
Get a copy of the collator according to the settings.
|
Currency |
getCurrency()
Get a copy of the currency computed according to the settings.
|
DateFormat |
getDateFormat(int dateStyle,
int timeStyle)
Gets a date format according to the current settings.
|
String |
getDisplayName(String id,
int type)
Get the display name for an ID: language, script, territory, currency, timezone...
|
ULocale |
getLocale(int index)
Convenience function for getting the locales in priority order
|
List<ULocale> |
getLocales()
Get a copy of the language/locale priority list
|
NumberFormat |
getNumberFormat(int style)
Gets a number format according to the current settings.
|
ResourceBundle |
getResourceBundle(String baseName)
Convenience function to get a ResourceBundle instance using
the specified base name based on the language/locale priority list
stored in this object.
|
ResourceBundle |
getResourceBundle(String baseName,
ClassLoader loader)
Convenience function to get a ResourceBundle instance using
the specified base name and class loader based on the language/locale
priority list stored in this object.
|
String |
getTerritory()
Gets the territory setting.
|
TimeZone |
getTimeZone()
Get the timezone.
|
protected BreakIterator |
guessBreakIterator(int type)
This function can be overridden by subclasses to use different heuristics.
|
protected Calendar |
guessCalendar()
This function can be overridden by subclasses to use different heuristics.
|
protected Collator |
guessCollator()
This function can be overridden by subclasses to use different heuristics.
|
protected Currency |
guessCurrency()
This function can be overridden by subclasses to use different heuristics
|
protected DateFormat |
guessDateFormat(int dateStyle,
int timeStyle)
This function can be overridden by subclasses to use different heuristics.
|
protected List<ULocale> |
guessLocales()
This function can be overridden by subclasses to use different heuristics
It MUST return a 'safe' value,
one whose modification will not affect this object.
|
protected NumberFormat |
guessNumberFormat(int style)
This function can be overridden by subclasses to use different heuristics.
|
protected String |
guessTerritory()
This function can be overridden by subclasses to use different heuristics.
|
protected TimeZone |
guessTimeZone()
This function can be overridden by subclasses to use different heuristics.
|
boolean |
isFrozen()
Determines whether the object has been frozen or not.
|
protected List<ULocale> |
processLocales(List<ULocale> inputLocales)
Process a language/locale priority list specified via
setLocales . |
GlobalizationPreferences |
reset()
Restore the object to the initial state.
|
GlobalizationPreferences |
setBreakIterator(int type,
BreakIterator iterator)
Explicitly set the break iterator for this object.
|
GlobalizationPreferences |
setCalendar(Calendar calendar)
Sets the calendar.
|
GlobalizationPreferences |
setCollator(Collator collator)
Explicitly set the collator for this object.
|
GlobalizationPreferences |
setCurrency(Currency currency)
Sets the currency code.
|
GlobalizationPreferences |
setDateFormat(int dateStyle,
int timeStyle,
DateFormat format)
Set an explicit date format.
|
GlobalizationPreferences |
setLocale(ULocale uLocale)
Convenience routine for setting the language/locale priority
list from a single locale/language.
|
GlobalizationPreferences |
setLocales(List<ULocale> inputLocales)
Sets the language/locale priority list.
|
GlobalizationPreferences |
setLocales(String acceptLanguageString)
Convenience routine for setting the locale priority list from
an Accept-Language string.
|
GlobalizationPreferences |
setLocales(ULocale[] uLocales)
Convenience routine for setting the language/locale priority
list from an array.
|
GlobalizationPreferences |
setNumberFormat(int style,
NumberFormat format)
Sets a number format explicitly.
|
GlobalizationPreferences |
setTerritory(String territory)
Sets the territory, which is a valid territory according to for
RFC 3066 (or successor).
|
GlobalizationPreferences |
setTimeZone(TimeZone timezone)
Sets the timezone ID.
|
public static final int NF_NUMBER
public static final int NF_CURRENCY
public static final int NF_PERCENT
public static final int NF_SCIENTIFIC
public static final int NF_INTEGER
public static final int DF_FULL
public static final int DF_LONG
public static final int DF_MEDIUM
public static final int DF_SHORT
public static final int DF_NONE
public static final int ID_LOCALE
public static final int ID_LANGUAGE
public static final int ID_SCRIPT
public static final int ID_TERRITORY
public static final int ID_VARIANT
public static final int ID_KEYWORD
public static final int ID_KEYWORD_VALUE
public static final int ID_CURRENCY
public static final int ID_CURRENCY_SYMBOL
public static final int ID_TIMEZONE
public static final int BI_CHARACTER
public static final int BI_WORD
public static final int BI_LINE
public static final int BI_SENTENCE
public static final int BI_TITLE
public GlobalizationPreferences()
public GlobalizationPreferences setLocales(List<ULocale> inputLocales)
inputLocales
- list of locales in priority order, eg {"be", "fr"}
for Breton first, then French if that fails.public List<ULocale> getLocales()
public ULocale getLocale(int index)
index
- The index (0..n) of the desired item.public GlobalizationPreferences setLocales(ULocale[] uLocales)
uLocales
- list of locales in an arraysetLocales(List locales)
public GlobalizationPreferences setLocale(ULocale uLocale)
uLocale
- single localesetLocales(List locales)
public GlobalizationPreferences setLocales(String acceptLanguageString)
acceptLanguageString
- Accept-Language list, as defined by
Section 14.4 of the RFC 2616 (HTTP 1.1)setLocales(List locales)
public ResourceBundle getResourceBundle(String baseName)
baseName
- the base name of the resource bundle, a fully qualified
class namepublic ResourceBundle getResourceBundle(String baseName, ClassLoader loader)
baseName
- the base name of the resource bundle, a fully qualified
class nameloader
- the class object from which to load the resource bundlepublic GlobalizationPreferences setTerritory(String territory)
territory
- codepublic String getTerritory()
public GlobalizationPreferences setCurrency(Currency currency)
currency
- Valid ISO 4217 currency code.public Currency getCurrency()
public GlobalizationPreferences setCalendar(Calendar calendar)
calendar
- arbitrary calendarpublic Calendar getCalendar()
public GlobalizationPreferences setTimeZone(TimeZone timezone)
timezone
- a valid TZID (see UTS#35).public TimeZone getTimeZone()
public Collator getCollator()
public GlobalizationPreferences setCollator(Collator collator)
collator
- The collator object to be passed.public BreakIterator getBreakIterator(int type)
type
- break type - BI_CHARACTER or BI_WORD, BI_LINE, BI_SENTENCE, BI_TITLEpublic GlobalizationPreferences setBreakIterator(int type, BreakIterator iterator)
type
- break type - BI_CHARACTER or BI_WORD, BI_LINE, BI_SENTENCE, BI_TITLEiterator
- a break iteratorpublic String getDisplayName(String id, int type)
id
- language code, script code, ...type
- specifies the type of the ID: ID_LANGUAGE, etc.public GlobalizationPreferences setDateFormat(int dateStyle, int timeStyle, DateFormat format)
dateStyle
- DF_FULL, DF_LONG, DF_MEDIUM, DF_SHORT or DF_NONEtimeStyle
- DF_FULL, DF_LONG, DF_MEDIUM, DF_SHORT or DF_NONEformat
- The date formatpublic DateFormat getDateFormat(int dateStyle, int timeStyle)
dateStyle
- DF_FULL, DF_LONG, DF_MEDIUM, DF_SHORT or DF_NONEtimeStyle
- DF_FULL, DF_LONG, DF_MEDIUM, DF_SHORT or DF_NONEpublic NumberFormat getNumberFormat(int style)
style
- NF_NUMBER, NF_CURRENCY, NF_PERCENT, NF_SCIENTIFIC, NF_INTEGERpublic GlobalizationPreferences setNumberFormat(int style, NumberFormat format)
style
- NF_NUMBER, NF_CURRENCY, NF_PERCENT, NF_SCIENTIFIC, NF_INTEGERformat
- The number formatpublic GlobalizationPreferences reset()
protected List<ULocale> processLocales(List<ULocale> inputLocales)
setLocales
.
The input locale list may be expanded or re-ordered to represent the prioritized
language/locale order actually used by this object by the algorithm explained
below.
getResourceBundle
for this object. A subclass may override this method
to customize the algorithm used for populating the locale list.inputLocales
- The list of input localesprotected DateFormat guessDateFormat(int dateStyle, int timeStyle)
dateStyle
- timeStyle
- protected NumberFormat guessNumberFormat(int style)
style
- protected String guessTerritory()
protected Currency guessCurrency()
protected List<ULocale> guessLocales()
protected Collator guessCollator()
protected BreakIterator guessBreakIterator(int type)
type
- protected TimeZone guessTimeZone()
protected Calendar guessCalendar()
public boolean isFrozen()
Freezable
isFrozen
in interface Freezable<GlobalizationPreferences>
public GlobalizationPreferences freeze()
Freezable
freeze
in interface Freezable<GlobalizationPreferences>
public GlobalizationPreferences cloneAsThawed()
Freezable
cloneAsThawed
in interface Freezable<GlobalizationPreferences>
Copyright © 2016 Unicode, Inc. and others.