#include <dtfmtsym.h>
Inheritance diagram for DateFormatSymbols::
Public Methods | |
DateFormatSymbols (UErrorCode &status) | |
Construct a DateFormatSymbols object by loading format data from resources for the default locale, in the default calendar (Gregorian). More... | |
DateFormatSymbols (const Locale &locale, UErrorCode &status) | |
Construct a DateFormatSymbols object by loading format data from resources for the given locale, in the default calendar (Gregorian). More... | |
DateFormatSymbols (const char *type, UErrorCode &status) | |
Construct a DateFormatSymbols object by loading format data from resources for the default locale, in the default calendar (Gregorian). More... | |
DateFormatSymbols (const Locale &locale, const char *type, UErrorCode &status) | |
Construct a DateFormatSymbols object by loading format data from resources for the given locale, in the default calendar (Gregorian). More... | |
DateFormatSymbols (const DateFormatSymbols &) | |
Copy constructor. More... | |
DateFormatSymbols & | operator= (const DateFormatSymbols &) |
Assignment operator. More... | |
~DateFormatSymbols () | |
Destructor. More... | |
UBool | operator== (const DateFormatSymbols &other) const |
Return true if another object is semantically equal to this one. More... | |
UBool | operator!= (const DateFormatSymbols &other) const |
Return true if another object is semantically unequal to this one. More... | |
const UnicodeString * | getEras (int32_t &count) const |
Gets era strings. More... | |
void | setEras (const UnicodeString *eras, int32_t count) |
Sets era strings. More... | |
const UnicodeString * | getMonths (int32_t &count) const |
Gets month strings. More... | |
void | setMonths (const UnicodeString *months, int32_t count) |
Sets month strings. More... | |
const UnicodeString * | getShortMonths (int32_t &count) const |
Gets short month strings. More... | |
void | setShortMonths (const UnicodeString *shortMonths, int32_t count) |
Sets short month strings. More... | |
const UnicodeString * | getWeekdays (int32_t &count) const |
Gets weekday strings. More... | |
void | setWeekdays (const UnicodeString *weekdays, int32_t count) |
Sets weekday strings. More... | |
const UnicodeString * | getShortWeekdays (int32_t &count) const |
Gets short weekday strings. More... | |
void | setShortWeekdays (const UnicodeString *shortWeekdays, int32_t count) |
Sets short weekday strings. More... | |
const UnicodeString * | getAmPmStrings (int32_t &count) const |
Gets AM/PM strings. More... | |
void | setAmPmStrings (const UnicodeString *ampms, int32_t count) |
Sets ampm strings. More... | |
const UnicodeString ** | getZoneStrings (int32_t &rowCount, int32_t &columnCount) const |
Gets timezone strings. More... | |
void | setZoneStrings (const UnicodeString *const *strings, int32_t rowCount, int32_t columnCount) |
Sets timezone strings. More... | |
UnicodeString & | getLocalPatternChars (UnicodeString &result) const |
Gets localized date-time pattern characters. More... | |
void | setLocalPatternChars (const UnicodeString &newLocalPatternChars) |
Sets localized date-time pattern characters. More... | |
virtual UClassID | getDynamicClassID () const |
ICU "poor man's RTTI", returns a UClassID for the actual class. More... | |
Static Public Methods | |
const UChar * | getPatternUChars (void) |
Get the non-localized date-time pattern characters. More... | |
UClassID | getStaticClassID () |
ICU "poor man's RTTI", returns a UClassID for this class. More... | |
Private Types | |
typedef enum DateFormatSymbols::LastResortSize | LastResortSize |
enum | LastResortSize { kMonthNum = 13, kMonthLen = 3, kDayNum = 8, kDayLen = 2, kAmPmNum = 2, kAmPmLen = 3, kEraNum = 2, kEraLen = 3, kZoneNum = 5, kZoneLen = 4 } |
Private Methods | |
DateFormatSymbols () | |
void | initField (UnicodeString **field, int32_t &length, const ResourceBundle &data, UErrorCode &status) |
void | initField (UnicodeString **field, int32_t &length, const UChar *data, LastResortSize numStr, LastResortSize strLen, UErrorCode &status) |
void | initializeData (const Locale &, const char *type, UErrorCode &status, UBool useLastResortData=FALSE) |
Called by the constructors to actually load data from the resources. More... | |
void | createZoneStrings (const UnicodeString *const *otherStrings) |
Create a copy, in fZoneStrings, of the given zone strings array. More... | |
int32_t | getZoneIndex (const UnicodeString &ID) const |
Package private: used by SimpleDateFormat Gets the index for the given time zone ID to obtain the timezone strings for formatting. More... | |
int32_t | _getZoneIndex (const UnicodeString &id) const |
void | dispose (void) |
Delete all the storage owned by this object. More... | |
void | copyData (const DateFormatSymbols &other) |
Copy all of the other's data to this. More... | |
void | disposeZoneStrings (void) |
Delete just the zone strings. More... | |
Static Private Methods | |
ResourceBundle | getData (ResourceBundle &rb, const char *tag, const char *type, UErrorCode &status) |
Load data for specified 'type', falling back to gregorian if needed. More... | |
void | assignArray (UnicodeString *&dstArray, int32_t &dstCount, const UnicodeString *srcArray, int32_t srcCount) |
Copy or alias an array in another object, as appropriate. More... | |
UBool | arrayCompare (const UnicodeString *array1, const UnicodeString *array2, int32_t count) |
Return true if the given arrays' contents are equal, or if the arrays are identical (pointers are equal). More... | |
Private Attributes | |
UnicodeString * | fEras |
Era strings. More... | |
int32_t | fErasCount |
UnicodeString * | fMonths |
Month strings. More... | |
int32_t | fMonthsCount |
UnicodeString * | fShortMonths |
Short month strings. More... | |
int32_t | fShortMonthsCount |
UnicodeString * | fWeekdays |
Weekday strings. More... | |
int32_t | fWeekdaysCount |
UnicodeString * | fShortWeekdays |
Short weekday strings. More... | |
int32_t | fShortWeekdaysCount |
UnicodeString * | fAmPms |
Ampm strings. More... | |
int32_t | fAmPmsCount |
UnicodeString ** | fZoneStrings |
The format data of all the timezones in this locale. More... | |
int32_t | fZoneStringsRowCount |
int32_t | fZoneStringsColCount |
UnicodeString | fLocalPatternChars |
Localized date-time pattern characters. More... | |
char | validLocale [50] |
valid/actual locale information these are always ICU locales, so the length should not be a problem. More... | |
char | actualLocale [50] |
Friends | |
class | SimpleDateFormat |
class | DateFormatSymbolsSingleSetter |
DateFormatSymbols is used by DateFormat and SimpleDateFormat.
Rather than first creating a DateFormatSymbols to get a date-time formatter by using a SimpleDateFormat constructor, clients are encouraged to create a date-time formatter using the getTimeInstance(), getDateInstance(), or getDateTimeInstance() method in DateFormat. Each of these methods can return a date/time formatter initialized with a default format pattern along with the date-time formatting data for a given or default locale. After a formatter is created, clients may modify the format pattern using the setPattern function as so desired. For more information on using these formatter factory functions, see DateFormat.
If clients decide to create a date-time formatter with a particular format pattern and locale, they can do so with new SimpleDateFormat(aPattern, new DateFormatSymbols(aLocale)). This will load the appropriate date-time formatting data from the locale.
DateFormatSymbols objects are clonable. When clients obtain a DateFormatSymbols object, they can feel free to modify the date-time formatting data as necessary. For instance, clients can replace the localized date-time format pattern characters with the ones that they feel easy to remember. Or they can change the representative cities originally picked by default to using their favorite ones.
DateFormatSymbols are not expected to be subclassed. Data for a calendar is loaded out of resource bundles. The 'type' parameter indicates the type of calendar, for example, "gregorian" or "japanese". If the type is not gregorian (or NULL, or an empty string) then the type is appended to the resource name, for example, 'Eras_japanese' instead of 'Eras'. If the resource 'Eras_japanese' did not exist (even in root), then this class will fall back to just 'Eras', that is, Gregorian data. Therefore, the calendar implementor MUST ensure that the root locale at least contains any resources that are to be particularized for the calendar type.
Definition at line 71 of file dtfmtsym.h.
|
|
|
Definition at line 389 of file dtfmtsym.h. |
|
Construct a DateFormatSymbols object by loading format data from resources for the default locale, in the default calendar (Gregorian).
NOTE: This constructor will never fail; if it cannot get resource data for the default locale, it will return a last-resort object based on hard-coded strings.
|
|
Construct a DateFormatSymbols object by loading format data from resources for the given locale, in the default calendar (Gregorian).
|
|
Construct a DateFormatSymbols object by loading format data from resources for the default locale, in the default calendar (Gregorian).
NOTE: This constructor will never fail; if it cannot get resource data for the default locale, it will return a last-resort object based on hard-coded strings.
|
|
Construct a DateFormatSymbols object by loading format data from resources for the given locale, in the default calendar (Gregorian).
|
|
Copy constructor.
|
|
Destructor. This is nonvirtual because this class is not designed to be subclassed.
|
|
|
|
|
|
Return true if the given arrays' contents are equal, or if the arrays are identical (pointers are equal).
|
|
Copy or alias an array in another object, as appropriate.
|
|
Copy all of the other's data to this.
|
|
Create a copy, in fZoneStrings, of the given zone strings array. The member variables fZoneStringsRowCount and fZoneStringsColCount should be set already by the caller. |
|
Delete all the storage owned by this object.
|
|
Delete just the zone strings.
|
|
Gets AM/PM strings. For example: "AM" and "PM".
|
|
Load data for specified 'type', falling back to gregorian if needed.
|
|
ICU "poor man's RTTI", returns a UClassID for the actual class.
Reimplemented from UObject. |
|
Gets era strings. For example: "AD" and "BC".
|
|
Gets localized date-time pattern characters. For example: 'u', 't', etc.
|
|
Gets month strings. For example: "January", "February", etc.
|
|
Get the non-localized date-time pattern characters.
|
|
Gets short month strings. For example: "Jan", "Feb", etc.
|
|
Gets short weekday strings. For example: "Sun", "Mon", etc.
|
|
ICU "poor man's RTTI", returns a UClassID for this class.
|
|
Gets weekday strings. For example: "Sunday", "Monday", etc.
|
|
Package private: used by SimpleDateFormat Gets the index for the given time zone ID to obtain the timezone strings for formatting. The time zone ID is just for programmatic lookup. NOT LOCALIZED!!!
|
|
Gets timezone strings. These strings are stored in a 2-dimensional array.
|
|
|
|
|
|
Called by the constructors to actually load data from the resources.
|
|
Return true if another object is semantically unequal to this one.
Definition at line 171 of file dtfmtsym.h. |
|
Assignment operator.
|
|
Return true if another object is semantically equal to this one.
|
|
Sets ampm strings. For example: "AM" and "PM".
|
|
Sets era strings. For example: "AD" and "BC".
|
|
Sets localized date-time pattern characters. For example: 'u', 't', etc.
|
|
Sets month strings. For example: "January", "February", etc.
|
|
Sets short month strings. For example: "Jan", "Feb", etc.
|
|
Sets short weekday strings. For example: "Sun", "Mon", etc.
|
|
Sets weekday strings. For example: "Sunday", "Monday", etc.
|
|
Sets timezone strings. These strings are stored in a 2-dimensional array.
|
|
Definition at line 330 of file dtfmtsym.h. |
|
Definition at line 329 of file dtfmtsym.h. |
|
Definition at line 385 of file dtfmtsym.h. |
|
Ampm strings. For example: "AM" and "PM". Definition at line 365 of file dtfmtsym.h. |
|
Definition at line 366 of file dtfmtsym.h. |
|
Era strings. For example: "AD" and "BC". Definition at line 335 of file dtfmtsym.h. |
|
Definition at line 336 of file dtfmtsym.h. |
|
Localized date-time pattern characters. For example: use 'u' as 'y'. Definition at line 378 of file dtfmtsym.h. |
|
Month strings. For example: "January", "February", etc. Definition at line 341 of file dtfmtsym.h. |
|
Definition at line 342 of file dtfmtsym.h. |
|
Short month strings. For example: "Jan", "Feb", etc. Definition at line 347 of file dtfmtsym.h. |
|
Definition at line 348 of file dtfmtsym.h. |
|
Short weekday strings. For example: "Sun", "Mon", etc. Definition at line 359 of file dtfmtsym.h. |
|
Definition at line 360 of file dtfmtsym.h. |
|
Weekday strings. For example: "Sunday", "Monday", etc. Definition at line 353 of file dtfmtsym.h. |
|
Definition at line 354 of file dtfmtsym.h. |
|
The format data of all the timezones in this locale.
Definition at line 371 of file dtfmtsym.h. |
|
Definition at line 373 of file dtfmtsym.h. |
|
Definition at line 372 of file dtfmtsym.h. |
|
valid/actual locale information these are always ICU locales, so the length should not be a problem.
Definition at line 384 of file dtfmtsym.h. |