From 7972df88c415874f2ca099fdfd2e457da1c5eb39 Mon Sep 17 00:00:00 2001 From: Alan Liu Date: Thu, 1 Apr 2004 19:05:57 +0000 Subject: [PATCH] ICU-3668 document that user subclasses are not supported in the Format hierarchy X-SVN-Rev: 14833 --- icu4c/source/i18n/unicode/choicfmt.h | 4 ++++ icu4c/source/i18n/unicode/datefmt.h | 4 ++++ icu4c/source/i18n/unicode/decimfmt.h | 6 ++++++ icu4c/source/i18n/unicode/format.h | 10 +++------- icu4c/source/i18n/unicode/msgfmt.h | 6 +++++- icu4c/source/i18n/unicode/numfmt.h | 5 +++++ icu4c/source/i18n/unicode/rbnf.h | 4 ++++ icu4c/source/i18n/unicode/smpdtfmt.h | 4 ++++ 8 files changed, 35 insertions(+), 8 deletions(-) diff --git a/icu4c/source/i18n/unicode/choicfmt.h b/icu4c/source/i18n/unicode/choicfmt.h index 8076158dbbd..89768d17e69 100644 --- a/icu4c/source/i18n/unicode/choicfmt.h +++ b/icu4c/source/i18n/unicode/choicfmt.h @@ -246,6 +246,10 @@ class MessageFormat; * return 0; * } * \endcode + * + *

User subclasses are not supported. While clients may write + * subclasses, such code will not necessarily work and will not be + * guaranteed to work stably from release to release. */ class U_I18N_API ChoiceFormat: public NumberFormat { public: diff --git a/icu4c/source/i18n/unicode/datefmt.h b/icu4c/source/i18n/unicode/datefmt.h index a99d7189d18..995dea37eac 100644 --- a/icu4c/source/i18n/unicode/datefmt.h +++ b/icu4c/source/i18n/unicode/datefmt.h @@ -124,6 +124,10 @@ class TimeZone; *

  • Align any particular field, or find out where it is for selection * on the screen. * + * + *

    User subclasses are not supported. While clients may write + * subclasses, such code will not necessarily work and will not be + * guaranteed to work stably from release to release. */ class U_I18N_API DateFormat : public Format { public: diff --git a/icu4c/source/i18n/unicode/decimfmt.h b/icu4c/source/i18n/unicode/decimfmt.h index 1509c1f85e1..145273f7c66 100644 --- a/icu4c/source/i18n/unicode/decimfmt.h +++ b/icu4c/source/i18n/unicode/decimfmt.h @@ -550,6 +550,12 @@ class ChoiceFormat; * *

    DecimalFormat objects are not synchronized. Multiple * threads should not access one formatter concurrently. + * + *

    Subclassing + * + *

    User subclasses are not supported. While clients may write + * subclasses, such code will not necessarily work and will not be + * guaranteed to work stably from release to release. */ class U_I18N_API DecimalFormat: public NumberFormat { public: diff --git a/icu4c/source/i18n/unicode/format.h b/icu4c/source/i18n/unicode/format.h index 420f5fe534a..c7ee05357f6 100644 --- a/icu4c/source/i18n/unicode/format.h +++ b/icu4c/source/i18n/unicode/format.h @@ -83,13 +83,9 @@ class ResourceBundle; * retured for methods which take no ParsePosition. For the method * that takes a ParsePosition, the index parameter is left unchanged. *

    - * [Subclassing.] All base classes that provide static functions that - * create objects for Locales must implement the following static: - *

    - * \code
    - *       public static const Locale* getAvailableLocales(long&)
    - * \endcode
    - * 
    + * User subclasses are not supported. While clients may write + * subclasses, such code will not necessarily work and will not be + * guaranteed to work stably from release to release. */ class U_I18N_API Format : public UObject { public: diff --git a/icu4c/source/i18n/unicode/msgfmt.h b/icu4c/source/i18n/unicode/msgfmt.h index 0415cd4890b..5c7457521b2 100644 --- a/icu4c/source/i18n/unicode/msgfmt.h +++ b/icu4c/source/i18n/unicode/msgfmt.h @@ -227,7 +227,7 @@ class DateFormat; * the string patterns), then be careful not to produce a format that * recurses on itself, which will cause an infinite loop. *

    - * Note:Subformats are numbered by their order in the pattern. + * Note: Subformats are numbered by their order in the pattern. * This is not the same as the argumentIndex. *

      * \code
    @@ -238,6 +238,10 @@ class DateFormat;
      *    format2 affects the second variable {0}
      * \endcode
      * 
    + * + *

    User subclasses are not supported. While clients may write + * subclasses, such code will not necessarily work and will not be + * guaranteed to work stably from release to release. */ class U_I18N_API MessageFormat : public Format { public: diff --git a/icu4c/source/i18n/unicode/numfmt.h b/icu4c/source/i18n/unicode/numfmt.h index a97c5f3af37..8efec284423 100644 --- a/icu4c/source/i18n/unicode/numfmt.h +++ b/icu4c/source/i18n/unicode/numfmt.h @@ -128,6 +128,11 @@ typedef const void* URegistryKey; * widthToAlignmentPoint) before drawing the text. It also works * where there is no decimal, but possibly additional characters at * the end, e.g. with parentheses in negative numbers: "(12)" for -12. + *

    + * User subclasses are not supported. While clients may write + * subclasses, such code will not necessarily work and will not be + * guaranteed to work stably from release to release. + * * @stable ICU 2.0 */ class U_I18N_API NumberFormat : public Format { diff --git a/icu4c/source/i18n/unicode/rbnf.h b/icu4c/source/i18n/unicode/rbnf.h index 141da7493d0..b8998cea553 100644 --- a/icu4c/source/i18n/unicode/rbnf.h +++ b/icu4c/source/i18n/unicode/rbnf.h @@ -457,6 +457,10 @@ class Collator; *

    See the resource data and the demo program for annotated examples of real rule sets * using these features.

    * + *

    User subclasses are not supported. While clients may write + * subclasses, such code will not necessarily work and will not be + * guaranteed to work stably from release to release. + * * @author Richard Gillam * @see NumberFormat * @see DecimalFormat diff --git a/icu4c/source/i18n/unicode/smpdtfmt.h b/icu4c/source/i18n/unicode/smpdtfmt.h index 6a49f804fae..48c3bb941ce 100644 --- a/icu4c/source/i18n/unicode/smpdtfmt.h +++ b/icu4c/source/i18n/unicode/smpdtfmt.h @@ -191,6 +191,10 @@ class DateFormat; * year, whether hours are zero based or not (0 vs 12 or 24), and the timezone. * There is one common number format to handle all the numbers; the digit count * is handled programmatically according to the pattern. + * + *

    User subclasses are not supported. While clients may write + * subclasses, such code will not necessarily work and will not be + * guaranteed to work stably from release to release. */ class U_I18N_API SimpleDateFormat: public DateFormat { public: