public class Locales
extends java.lang.Object
Constructor and Description |
---|
Locales() |
Modifier and Type | Method and Description |
---|---|
static java.util.Locale |
getByFallback(java.util.Collection<java.util.Locale> values,
java.util.Locale locale)
Returns any occurrence of the specified Locale or any its fallback
in the value collection, or null if not found.
|
static java.util.Locale |
getCurrent()
Returns the current locale; never null.
|
static java.util.Locale |
getLocale(java.util.Locale locale)
Converts a Locale to one of them being used before.
|
static java.util.Locale |
getLocale(java.lang.String localeString)
Converts a string that consists of language, country and variant
to a locale.
|
static java.util.Locale |
getLocale(java.lang.String localeString,
char separator)
Converts a string that consists of language, country and variant
to a locale.
|
static java.util.Locale |
getThreadLocal()
Returns the locale defined by
setThreadLocal(java.util.Locale) . |
static int |
indexOfUnderline(java.lang.String s)
Returns the index of '_' preceding the country part.
|
static int |
indexOfUnderline(java.lang.String s,
int j)
Returns the index of '_' preceding the country part, starting from j.
|
static java.util.Locale |
setThreadLocal(java.util.Locale locale)
Sets the locale for the current thread only.
|
static boolean |
testCurrent(java.lang.String lang,
java.lang.String country)
Returns whether the current locale (
getCurrent() ) belongs
to the specified language and/or country. |
public static final java.util.Locale getCurrent()
Default: If setThreadLocal(java.util.Locale)
was called with non-null,
the value is returned. Otherwise, Locale.getDefault() is returned,
public static final boolean testCurrent(java.lang.String lang, java.lang.String country)
getCurrent()
) belongs
to the specified language and/or country.lang
- the language code, e.g., en and zh. Ignored if null.country
- the country code, e.g., US. Ignored if null.
If empty, it means no country code at all.public static final java.util.Locale setThreadLocal(java.util.Locale locale)
Each thread could have an independent locale, called the thread locale.
When Invoking this method under a thread that serves requests, remember to clean up the setting upon completing each request.
Locale old = Locales.setThreadLocal(newValue);
try {
...
} finally {
Locales.setThreadLocal(old);
}
locale
- the thread locale; null to denote no thread localepublic static final java.util.Locale getThreadLocal()
setThreadLocal(java.util.Locale)
.getCurrent()
public static final java.util.Locale getLocale(java.lang.String localeString, char separator)
The separator between language, country and variant is customizable, and whitespaces are ignored, e.g., "zh_TW" and "zh, TW".
Thus, locale.equals(Locales.getLocale(locale.toString(), '_')).
localeString
- the locale in string; null is OKseparator
- the separator; ((char)0) means to decide automatically
(either ',' or '_')public static final java.util.Locale getLocale(java.lang.String localeString)
A shortcut: getLocale(localeString, (char)0).
public static final java.util.Locale getLocale(java.util.Locale locale)
This method first look for any locale
public static java.util.Locale getByFallback(java.util.Collection<java.util.Locale> values, java.util.Locale locale)
public static int indexOfUnderline(java.lang.String s, int j)
public static int indexOfUnderline(java.lang.String s)
Copyright © 2005-2021 Potix Corporation. All Rights Reserved.