| OLD | NEW | 
|    1 /*   |    1 /*   | 
|    2 ******************************************************************************** |    2 ******************************************************************************** | 
|    3 *   Copyright (C) 1997-2013, International Business Machines |    3 *   Copyright (C) 1997-2014, International Business Machines | 
|    4 *   Corporation and others.  All Rights Reserved. |    4 *   Corporation and others.  All Rights Reserved. | 
|    5 ******************************************************************************** |    5 ******************************************************************************** | 
|    6 * |    6 * | 
|    7 * File DTFMTSYM.H |    7 * File DTFMTSYM.H | 
|    8 * |    8 * | 
|    9 * Modification History: |    9 * Modification History: | 
|   10 * |   10 * | 
|   11 *   Date        Name        Description |   11 *   Date        Name        Description | 
|   12 *   02/19/97    aliu        Converted from java. |   12 *   02/19/97    aliu        Converted from java. | 
|   13 *    07/21/98    stephen        Added getZoneIndex() |   13 *    07/21/98    stephen        Added getZoneIndex() | 
| (...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|   69  * DateFormatSymbols are not expected to be subclassed. Data for a calendar is |   69  * DateFormatSymbols are not expected to be subclassed. Data for a calendar is | 
|   70  * loaded out of resource bundles.  The 'type' parameter indicates the type of |   70  * loaded out of resource bundles.  The 'type' parameter indicates the type of | 
|   71  * calendar, for example, "gregorian" or "japanese".  If the type is not gregori
     an |   71  * calendar, for example, "gregorian" or "japanese".  If the type is not gregori
     an | 
|   72  * (or NULL, or an empty string) then the type is appended to the resource name, |   72  * (or NULL, or an empty string) then the type is appended to the resource name, | 
|   73  * for example,  'Eras_japanese' instead of 'Eras'.   If the resource 'Eras_japa
     nese' did |   73  * for example,  'Eras_japanese' instead of 'Eras'.   If the resource 'Eras_japa
     nese' did | 
|   74  * not exist (even in root), then this class will fall back to just 'Eras', that
      is, |   74  * not exist (even in root), then this class will fall back to just 'Eras', that
      is, | 
|   75  * Gregorian data.  Therefore, the calendar implementor MUST ensure that the roo
     t |   75  * Gregorian data.  Therefore, the calendar implementor MUST ensure that the roo
     t | 
|   76  * locale at least contains any resources that are to be particularized for the |   76  * locale at least contains any resources that are to be particularized for the | 
|   77  * calendar type. |   77  * calendar type. | 
|   78  */ |   78  */ | 
|   79 class U_I18N_API DateFormatSymbols : public UObject { |   79 class U_I18N_API DateFormatSymbols U_FINAL : public UObject  { | 
|   80 public: |   80 public: | 
|   81     /** |   81     /** | 
|   82      * Construct a DateFormatSymbols object by loading format data from |   82      * Construct a DateFormatSymbols object by loading format data from | 
|   83      * resources for the default locale, in the default calendar (Gregorian). |   83      * resources for the default locale, in the default calendar (Gregorian). | 
|   84      * <P> |   84      * <P> | 
|   85      * NOTE: This constructor will never fail; if it cannot get resource |   85      * NOTE: This constructor will never fail; if it cannot get resource | 
|   86      * data for the default locale, it will return a last-resort object |   86      * data for the default locale, it will return a last-resort object | 
|   87      * based on hard-coded strings. |   87      * based on hard-coded strings. | 
|   88      * |   88      * | 
|   89      * @param status    Status code.  Failure |   89      * @param status    Status code.  Failure | 
| (...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  276     }; |  276     }; | 
|  277  |  277  | 
|  278     /** |  278     /** | 
|  279      * Selector for date formatting width |  279      * Selector for date formatting width | 
|  280      * @stable ICU 3.6 |  280      * @stable ICU 3.6 | 
|  281      */ |  281      */ | 
|  282     enum DtWidthType { |  282     enum DtWidthType { | 
|  283          ABBREVIATED, |  283          ABBREVIATED, | 
|  284          WIDE, |  284          WIDE, | 
|  285          NARROW, |  285          NARROW, | 
|  286 #ifndef U_HIDE_DRAFT_API |  | 
|  287          /** |  286          /** | 
|  288           * Short width is currently only supported for weekday names. |  287           * Short width is currently only supported for weekday names. | 
|  289           * @draft ICU 51 |  288           * @stable ICU 51 | 
|  290           */ |  289           */ | 
|  291          SHORT, |  290          SHORT, | 
|  292 #endif /* U_HIDE_DRAFT_API */ |  | 
|  293          /** |  291          /** | 
|  294           */ |  292           */ | 
|  295          DT_WIDTH_COUNT = 4 |  293          DT_WIDTH_COUNT = 4 | 
|  296     }; |  294     }; | 
|  297  |  295  | 
|  298     /** |  296     /** | 
|  299      * Gets month strings by width and context. For example: "January", "Februar
     y", etc. |  297      * Gets month strings by width and context. For example: "January", "Februar
     y", etc. | 
|  300      * @param count Filled in with length of the array. |  298      * @param count Filled in with length of the array. | 
|  301      * @param context The formatting context, either FORMAT or STANDALONE |  299      * @param context The formatting context, either FORMAT or STANDALONE | 
|  302      * @param width   The width of returned strings, either WIDE, ABBREVIATED, o
     r NARROW. |  300      * @param width   The width of returned strings, either WIDE, ABBREVIATED, o
     r NARROW. | 
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  403     const UnicodeString* getAmPmStrings(int32_t& count) const; |  401     const UnicodeString* getAmPmStrings(int32_t& count) const; | 
|  404  |  402  | 
|  405     /** |  403     /** | 
|  406      * Sets ampm strings. For example: "AM" and "PM". |  404      * Sets ampm strings. For example: "AM" and "PM". | 
|  407      * @param ampms        the new ampm strings. (not adopted; caller retains ow
     nership) |  405      * @param ampms        the new ampm strings. (not adopted; caller retains ow
     nership) | 
|  408      * @param count        Filled in with length of the array. |  406      * @param count        Filled in with length of the array. | 
|  409      * @stable ICU 2.0 |  407      * @stable ICU 2.0 | 
|  410      */ |  408      */ | 
|  411     void setAmPmStrings(const UnicodeString* ampms, int32_t count); |  409     void setAmPmStrings(const UnicodeString* ampms, int32_t count); | 
|  412  |  410  | 
 |  411 #ifndef U_HIDE_DRAFT_API | 
 |  412     /** | 
 |  413      * Gets cyclic year name strings if the calendar has them, by width and cont
     ext. | 
 |  414      * For example: "jia-zi", "yi-chou", etc. | 
 |  415      * @param count     Filled in with length of the array. | 
 |  416      * @param context   The usage context: FORMAT, STANDALONE. | 
 |  417      * @param width     The requested name width: WIDE, ABBREVIATED, NARROW. | 
 |  418      * @return          The year name strings (DateFormatSymbols retains ownersh
     ip), | 
 |  419      *                  or null if they are not available for this calendar. | 
 |  420      * @draft ICU 54 | 
 |  421      */ | 
 |  422     const UnicodeString* getYearNames(int32_t& count, | 
 |  423                             DtContextType context, DtWidthType width) const; | 
 |  424  | 
 |  425     /** | 
 |  426      * Sets cyclic year name strings by width and context. For example: "jia-zi"
     , "yi-chou", etc. | 
 |  427      * | 
 |  428      * @param yearNames The new cyclic year name strings (not adopted; caller re
     tains ownership). | 
 |  429      * @param count     The length of the array. | 
 |  430      * @param context   The usage context: FORMAT, STANDALONE (currently only FO
     RMAT is supported). | 
 |  431      * @param width     The name width: WIDE, ABBREVIATED, NARROW (currently onl
     y ABBREVIATED is supported). | 
 |  432      * @draft ICU 54 | 
 |  433      */ | 
 |  434     void setYearNames(const UnicodeString* yearNames, int32_t count, | 
 |  435                             DtContextType context, DtWidthType width); | 
 |  436  | 
 |  437     /** | 
 |  438      * Gets calendar zodiac name strings if the calendar has them, by width and 
     context. | 
 |  439      * For example: "Rat", "Ox", "Tiger", etc. | 
 |  440      * @param count     Filled in with length of the array. | 
 |  441      * @param context   The usage context: FORMAT, STANDALONE. | 
 |  442      * @param width     The requested name width: WIDE, ABBREVIATED, NARROW. | 
 |  443      * @return          The zodiac name strings (DateFormatSymbols retains owner
     ship), | 
 |  444      *                  or null if they are not available for this calendar. | 
 |  445      * @draft ICU 54 | 
 |  446      */ | 
 |  447     const UnicodeString* getZodiacNames(int32_t& count, | 
 |  448                             DtContextType context, DtWidthType width) const; | 
 |  449  | 
 |  450     /** | 
 |  451      * Sets calendar zodiac name strings by width and context. For example: "Rat
     ", "Ox", "Tiger", etc. | 
 |  452      * | 
 |  453      * @param zodiacNames The new zodiac name strings (not adopted; caller retai
     ns ownership). | 
 |  454      * @param count     The length of the array. | 
 |  455      * @param context   The usage context: FORMAT, STANDALONE (currently only FO
     RMAT is supported). | 
 |  456      * @param width     The name width: WIDE, ABBREVIATED, NARROW (currently onl
     y ABBREVIATED is supported). | 
 |  457      * @draft ICU 54 | 
 |  458      */ | 
 |  459     void setZodiacNames(const UnicodeString* zodiacNames, int32_t count, | 
 |  460                             DtContextType context, DtWidthType width); | 
 |  461  | 
 |  462 #endif  /* U_HIDE_DRAFT_API */ | 
 |  463  | 
|  413 #ifndef U_HIDE_INTERNAL_API |  464 #ifndef U_HIDE_INTERNAL_API | 
|  414     /** |  465     /** | 
|  415      * Somewhat temporary constants for leap month pattern types, adequate for s
     upporting |  466      * Somewhat temporary constants for leap month pattern types, adequate for s
     upporting | 
|  416      * just leap month patterns as needed for Chinese lunar calendar. |  467      * just leap month patterns as needed for Chinese lunar calendar. | 
|  417      * Eventually we will add full support for different month pattern types (ne
     eded for |  468      * Eventually we will add full support for different month pattern types (ne
     eded for | 
|  418      * other calendars such as Hindu) at which point this approach will be repla
     ced by a |  469      * other calendars such as Hindu) at which point this approach will be repla
     ced by a | 
|  419      * more complete approach. |  470      * more complete approach. | 
|  420      * @internal |  471      * @internal | 
|  421      */ |  472      */ | 
|  422     enum EMonthPatternType |  473     enum EMonthPatternType | 
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  498      */ |  549      */ | 
|  499     void setLocalPatternChars(const UnicodeString& newLocalPatternChars); |  550     void setLocalPatternChars(const UnicodeString& newLocalPatternChars); | 
|  500  |  551  | 
|  501     /** |  552     /** | 
|  502      * Returns the locale for this object. Two flavors are available: |  553      * Returns the locale for this object. Two flavors are available: | 
|  503      * valid and actual locale. |  554      * valid and actual locale. | 
|  504      * @stable ICU 2.8 |  555      * @stable ICU 2.8 | 
|  505      */ |  556      */ | 
|  506     Locale getLocale(ULocDataLocaleType type, UErrorCode& status) const; |  557     Locale getLocale(ULocDataLocaleType type, UErrorCode& status) const; | 
|  507  |  558  | 
 |  559     /* The following type and kCapContextUsageTypeCount cannot be #ifndef U_HIDE
     _INTERNAL_API, | 
 |  560        they are needed for .h file declarations. */  | 
|  508     /** |  561     /** | 
|  509      * Constants for capitalization context usage types. |  562      * Constants for capitalization context usage types. | 
|  510      * @internal |  563      * @internal | 
|  511      */ |  564      */ | 
|  512     enum ECapitalizationContextUsageType |  565     enum ECapitalizationContextUsageType | 
|  513     { |  566     { | 
|  514         kCapContextUsageOther, |  567 #ifndef U_HIDE_INTERNAL_API | 
 |  568         kCapContextUsageOther = 0, | 
|  515         kCapContextUsageMonthFormat,     /* except narrow */ |  569         kCapContextUsageMonthFormat,     /* except narrow */ | 
|  516         kCapContextUsageMonthStandalone, /* except narrow */ |  570         kCapContextUsageMonthStandalone, /* except narrow */ | 
|  517         kCapContextUsageMonthNarrow, |  571         kCapContextUsageMonthNarrow, | 
|  518         kCapContextUsageDayFormat,     /* except narrow */ |  572         kCapContextUsageDayFormat,     /* except narrow */ | 
|  519         kCapContextUsageDayStandalone, /* except narrow */ |  573         kCapContextUsageDayStandalone, /* except narrow */ | 
|  520         kCapContextUsageDayNarrow, |  574         kCapContextUsageDayNarrow, | 
|  521         kCapContextUsageEraWide, |  575         kCapContextUsageEraWide, | 
|  522         kCapContextUsageEraAbbrev, |  576         kCapContextUsageEraAbbrev, | 
|  523         kCapContextUsageEraNarrow, |  577         kCapContextUsageEraNarrow, | 
|  524         kCapContextUsageZoneLong, |  578         kCapContextUsageZoneLong, | 
|  525         kCapContextUsageZoneShort, |  579         kCapContextUsageZoneShort, | 
|  526         kCapContextUsageMetazoneLong, |  580         kCapContextUsageMetazoneLong, | 
|  527         kCapContextUsageMetazoneShort, |  581         kCapContextUsageMetazoneShort, | 
|  528         kCapContextUsageTypeCount |  582 #endif /* U_HIDE_INTERNAL_API */ | 
 |  583         kCapContextUsageTypeCount = 14 | 
|  529     }; |  584     }; | 
|  530  |  585  | 
|  531     /** |  586     /** | 
|  532      * ICU "poor man's RTTI", returns a UClassID for the actual class. |  587      * ICU "poor man's RTTI", returns a UClassID for the actual class. | 
|  533      * |  588      * | 
|  534      * @stable ICU 2.2 |  589      * @stable ICU 2.2 | 
|  535      */ |  590      */ | 
|  536     virtual UClassID getDynamicClassID() const; |  591     virtual UClassID getDynamicClassID() const; | 
|  537  |  592  | 
|  538     /** |  593     /** | 
| (...skipping 140 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  679     UnicodeString  *fStandaloneShortQuarters; |  734     UnicodeString  *fStandaloneShortQuarters; | 
|  680     int32_t         fStandaloneShortQuartersCount; |  735     int32_t         fStandaloneShortQuartersCount; | 
|  681  |  736  | 
|  682     /** |  737     /** | 
|  683      * All leap month patterns, for example "{0}bis". |  738      * All leap month patterns, for example "{0}bis". | 
|  684      */ |  739      */ | 
|  685     UnicodeString  *fLeapMonthPatterns; |  740     UnicodeString  *fLeapMonthPatterns; | 
|  686     int32_t         fLeapMonthPatternsCount; |  741     int32_t         fLeapMonthPatternsCount; | 
|  687  |  742  | 
|  688     /** |  743     /** | 
|  689      * (Format) Short cyclic year names, for example: "jia-zi", "yi-chou", ... "
     gui-hai" |  744      * Cyclic year names, for example: "jia-zi", "yi-chou", ... "gui-hai"; | 
 |  745      * currently we only have data for format/abbreviated. | 
 |  746      * For the others, just get from format/abbreviated, ignore set. | 
|  690      */ |  747      */ | 
|  691     UnicodeString*  fShortYearNames; |  748     UnicodeString  *fShortYearNames; | 
|  692     int32_t         fShortYearNamesCount; |  749     int32_t         fShortYearNamesCount; | 
|  693  |  750  | 
|  694     /** |  751     /** | 
 |  752      * Cyclic zodiac names, for example "Rat", "Ox", "Tiger", etc.; | 
 |  753      * currently we only have data for format/abbreviated. | 
 |  754      * For the others, just get from format/abbreviated, ignore set. | 
 |  755      */ | 
 |  756     UnicodeString  *fShortZodiacNames; | 
 |  757     int32_t         fShortZodiacNamesCount; | 
 |  758  | 
 |  759     /** | 
|  695      * Localized names of time zones in this locale.  This is a |  760      * Localized names of time zones in this locale.  This is a | 
|  696      * two-dimensional array of strings of size n by m, |  761      * two-dimensional array of strings of size n by m, | 
|  697      * where m is at least 5 and up to 7.  Each of the n rows is an |  762      * where m is at least 5 and up to 7.  Each of the n rows is an | 
|  698      * entry containing the localized names for a single TimeZone. |  763      * entry containing the localized names for a single TimeZone. | 
|  699      * |  764      * | 
|  700      * Each such row contains (with i ranging from 0..n-1): |  765      * Each such row contains (with i ranging from 0..n-1): | 
|  701      *  |  766      *  | 
|  702      * zoneStrings[i][0] - time zone ID |  767      * zoneStrings[i][0] - time zone ID | 
|  703      *  example: America/Los_Angeles |  768      *  example: America/Los_Angeles | 
|  704      * zoneStrings[i][1] - long name of zone in standard time |  769      * zoneStrings[i][1] - long name of zone in standard time | 
| (...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  838      */ |  903      */ | 
|  839     static UBool U_EXPORT2 isNumericPatternChar(UChar c, int32_t count); |  904     static UBool U_EXPORT2 isNumericPatternChar(UChar c, int32_t count); | 
|  840 }; |  905 }; | 
|  841  |  906  | 
|  842 U_NAMESPACE_END |  907 U_NAMESPACE_END | 
|  843  |  908  | 
|  844 #endif /* #if !UCONFIG_NO_FORMATTING */ |  909 #endif /* #if !UCONFIG_NO_FORMATTING */ | 
|  845  |  910  | 
|  846 #endif // _DTFMTSYM |  911 #endif // _DTFMTSYM | 
|  847 //eof |  912 //eof | 
| OLD | NEW |