public class LcData extends Object
The C++ implementation stores locale data in a static store. Alas, the Java compiler's 64K data limit precludes us from doing the same. Instead, the Java implementation stores locale data in properties files -- one for each supported locale.
Here's a snippet of code illustrating the use of LcData
to retrieve
abbreviated month names, and retrieve a date format.
import com.adobe.xfa.ut.LcData;
...
LcData data = new lcData("es_ES");
String s = data.getAbbrMonthName(LcData.FEB);
System.out.println(s);
data = new lcData("pt_BR");
s = data.getDateFormat(LcData.SHORT);
System.out.println(s);
Besides the static store, this class also maintains a more dynamic thread-local store. The application can provide its own locale data definitions to be stored in the runtime store. In general, when locale information is requested, the runtime store is searched first, then the static store. This happens on every single request, so if the runtime store changes between two calls on an LcData data instance, the two calls may return different results. In practice, LcData object have such limited lifespans that this doesn't become an issue.
To populate the runtime store, the application calls method LcData.update() with an instance of the nested class LcDada.LcRunTimeData. This class contains several arrays of strings that hold locale information. A number of public static final int constants provided may be used as indexes into these arrays.
Modifier and Type | Class and Description |
---|---|
static class |
LcData.LcRunTimeData
Nested class describing a locale's data.
|
Modifier and Type | Field and Description |
---|---|
static int |
AD |
static int |
AM |
static int |
APR |
static int |
AUG |
static int |
BC |
static int |
CUR_DECIMAL |
static int |
CUR_ISONAME |
static int |
CUR_SYMBOL |
static int |
CURRENCY |
static int |
CURRENCY_FMT |
static int |
DEC |
static int |
DECIMAL_FMT |
static int |
DEFLT |
static int |
DEFLT_FMT |
static int |
FEB |
static int |
FRI |
static int |
FULL |
static int |
FULL_FMT |
static int |
INTEGRAL_FMT |
static int |
JAN |
static int |
JUL |
static int |
JUN |
static int |
KEEP_NINES |
static int |
LONG |
static int |
LONG_FMT |
static int |
MAR |
static int |
MAY |
static int |
MED |
static int |
MED_FMT |
static int |
MON |
static int |
NOV |
static int |
NUM_DECIMAL |
static int |
NUM_GROUPING |
static int |
NUM_MINUS |
static int |
NUM_PERCENT |
static int |
NUM_ZERO |
static int |
NUMERIC |
static int |
OCT |
static int |
PERCENT |
static int |
PERCENT_FMT |
static int |
PM |
static int |
SAT |
static int |
SEP |
static int |
SHORT |
static int |
SHORT_FMT |
static int |
SUN |
static int |
THU |
static int |
TUE |
static int |
WED |
static int |
WITH_CATEGORIES |
static int |
WITH_EIGHTS |
static int |
WITH_GROUPINGS |
static int |
WITH_RADIX |
static int |
WITH_ZEDS |
static int |
WITHOUT_CATEGORIES |
static int |
WITHOUT_GROUPINGS |
static int |
WITHOUT_RADIX |
Constructor and Description |
---|
LcData(String locale)
Instantiates an LcData object for the given locale.
|
Modifier and Type | Method and Description |
---|---|
static String |
findMatchingLocale(String sCurrencySymbol,
String sRadixSymbol,
String sGroupingSymbol)
Finds a locale who's currency, radix and grouping symbols match all of the
given symbols.
|
static LcData.LcRunTimeData |
get(String sLocale)
Gets the locale data for the given locale
from this class's runtime store.
|
String |
getAbbrMonthName(int month)
Gets the abbreviated name of the given month of the year.
|
String |
getAbbrWeekdayName(int weekday)
Gets the abbreviated name of the given day of the week.
|
String |
getCurrencyName()
Gets the name of the currency.
|
String |
getCurrencyRadix()
Gets the radix of the currency.
|
String |
getCurrencySymbol()
Gets the symbol of the currency.
|
String |
getDateFormat(int style)
Gets the date format in the given style.
|
String |
getDateTimeFormat(int style,
int type)
Gets the datetime format in the given style.
|
String |
getDateTimePattern()
Gets the date time pattern.
|
String |
getEraName(int era)
Gets the name of the given era.
|
String |
getGroupingSymbol()
Gets the grouping symbol.
|
String |
getLocalDateFormat(int style)
Gets the local date format in the given style.
|
String |
getLocalDateTimeFormat()
Gets the local datetime format.
|
String |
getLocale()
Gets this LcData object's locale.
|
static void |
getLocaleNames(List<String> oLocales)
Gets all the supported locale names.
|
String |
getLocalTimeFormat(int style)
Gets the local time format in the given style.
|
String |
getMeridiemName(int aspect)
Gets the name of the given aspect of the meridiem.
|
String |
getMonthName(int month)
Gets the name of the given month of the year.
|
String |
getNegativeSymbol()
Gets the negative symbol.
|
String |
getNumberFormat(int style,
int option)
Gets the number format in the given style.
|
int |
getNumberPrecision(String sVal)
Gets the decimal precision of the given numeric string.
|
String |
getNumericFormat(int style)
Gets the numeric format in the given style.
|
String |
getPercentSymbol()
Gets the percent symbol.
|
String |
getPositiveSymbol()
Gets the positive symbol.
|
String |
getRadixSymbol()
Gets the radix symbol.
|
String |
getTimeFormat(int style)
Gets the time format in the given style.
|
List<String> |
getTypefaces()
Gets the list of typefaces.
|
String |
getWeekDayName(int weekday)
Gets the name of the given day of the week.
|
String |
getZeroSymbol()
Gets the native zero digit symbol.
|
static void |
reset()
Reset this class's runtime store of locale data to its
internal defaults.
|
static void |
update(LcData.LcRunTimeData oLcData)
Updates (replaces) this class's runtime store of data
for the given locale with the given locale data.
|
static boolean |
validate(LcData.LcRunTimeData oLcData)
Validates the given runtime locale data.
|
static int |
withPrecision(int prec) |
static int |
withWidth(int width) |
public static final int SUN
public static final int MON
public static final int TUE
public static final int WED
public static final int THU
public static final int FRI
public static final int SAT
public static final int JAN
public static final int FEB
public static final int MAR
public static final int APR
public static final int MAY
public static final int JUN
public static final int JUL
public static final int AUG
public static final int SEP
public static final int OCT
public static final int NOV
public static final int DEC
public static final int AM
public static final int PM
public static final int BC
public static final int AD
public static final int DEFLT
public static final int FULL
public static final int LONG
public static final int MED
public static final int SHORT
public static final int NUMERIC
public static final int CURRENCY
public static final int PERCENT
public static final int NUM_DECIMAL
public static final int NUM_GROUPING
public static final int NUM_PERCENT
public static final int NUM_MINUS
public static final int NUM_ZERO
public static final int CUR_SYMBOL
public static final int CUR_ISONAME
public static final int CUR_DECIMAL
public static final int DEFLT_FMT
public static final int SHORT_FMT
public static final int MED_FMT
public static final int LONG_FMT
public static final int FULL_FMT
public static final int INTEGRAL_FMT
public static final int DECIMAL_FMT
public static final int CURRENCY_FMT
public static final int PERCENT_FMT
public static final int WITHOUT_RADIX
public static final int WITHOUT_GROUPINGS
public static final int WITH_GROUPINGS
public static final int WITH_ZEDS
public static final int WITH_EIGHTS
public static final int WITH_RADIX
public static final int KEEP_NINES
public static final int WITHOUT_CATEGORIES
public static final int WITH_CATEGORIES
public LcData(String locale)
locale
- the locale name.public static final int withWidth(int width)
public static final int withPrecision(int prec)
public String getLocale()
public static boolean validate(LcData.LcRunTimeData oLcData)
oLcData
- the some runtime locale data.public static void reset()
public static void update(LcData.LcRunTimeData oLcData)
oLcData
- the runtime locale data.public static LcData.LcRunTimeData get(String sLocale)
sLocale
- the locale name to search for.public String getWeekDayName(int weekday)
weekday
- the day of the week in the range of values 0-6,
where (0 = Sunday).public String getAbbrWeekdayName(int weekday)
weekday
- the day of the week in the range of values 0-6,
where (0 = Sunday).public String getMonthName(int month)
month
- the month of the year in the range of values 0-11,
where (0 = January).public String getAbbrMonthName(int month)
month
- the month of the year in the range of values 0-11,
where (0 = January).public String getMeridiemName(int aspect)
aspect
- an aspect of the meridiem in the range of values 0-1,
where (0 = AM, 1 = PM).public String getEraName(int era)
era
- an era of the calendar in the range of values 0-1,
where (0 = BC, 1 = AD).public String getDateFormat(int style)
style
- the style of the format in the range of values 0-4,
where (0 = default, 1 = short, 2 = medium, 3 = long, 4 = full).public String getTimeFormat(int style)
style
- the style of the format in the range of values 0-4,
where (0 = default, 1 = short, 2 = medium, 3 = long, 4 = full).public String getDateTimePattern()
public String getDateTimeFormat(int style, int type)
style
- the style of the format in the range of values 0-4,
where (0 = default, 1 = short, 2 = medium, 3 = long, 4 = full).type
- the type of the format in the range of values 0-1,
where (0 = w/o picture categories, 1 = w picture categories).public String getLocalDateFormat(int style)
style
- the style of the format in the range of values 0-4,
where (0 = default, 1 = short, 2 = medium, 3 = long, 4 = full).public String getLocalTimeFormat(int style)
style
- the style of the format in the range of values 0-4,
where (0 = default, 1 = short, 2 = medium, 3 = long, 4 = full).public String getLocalDateTimeFormat()
This method is not functional yet.
public String getNumericFormat(int style)
style
- the style of the format in the range of values 0-2,
where (0 = number, 1 = currency, 2 = percentage).public String getNumberFormat(int style, int option)
style
- in the range of values 0-2,
where (0 = integral, 1 = decimal, 2 = currency).option
- in the set of format options:
public int getNumberPrecision(String sVal)
public String getCurrencyName()
public String getCurrencySymbol()
public String getCurrencyRadix()
public String getRadixSymbol()
public String getGroupingSymbol()
public String getPercentSymbol()
public List<String> getTypefaces()
public String getNegativeSymbol()
public String getZeroSymbol()
public String getPositiveSymbol()
public static void getLocaleNames(List<String> oLocales)
oLocales
- the List object to be populated
with the name of all the locales for which we have
data.public static String findMatchingLocale(String sCurrencySymbol, String sRadixSymbol, String sGroupingSymbol)
sCurrencySymbol
- the currency symbol to match.sRadixSymbol
- the decimal radix symbol to match.sGroupingSymbol
- the grouping separator symbol to match.Copyright © 2010 - 2020 Adobe. All Rights Reserved