Logo Search packages:      
Sourcecode: icu version File versions  Download package

Format Class Reference

#include <format.h>

Inheritance diagram for Format:

UObject UMemory DateFormat DateIntervalFormat MeasureFormat MessageFormat NumberFormat PluralFormat SelectFormat RelativeDateFormat SimpleDateFormat CurrencyFormat TimeUnitFormat ChoiceFormat DecimalFormat RuleBasedNumberFormat

List of all members.

Detailed Description

Base class for all formats. This is an abstract base class which specifies the protocol for classes which convert other objects or values, such as numeric values and dates, and their string representations. In some cases these representations may be localized or contain localized characters or strings. For example, a numeric formatter such as DecimalFormat may convert a numeric value such as 12345 to the string "$12,345". It may also parse the string back into a numeric value. A date and time formatter like SimpleDateFormat may represent a specific date, encoded numerically, as a string such as "Wednesday, February 26, 1997 AD".

Many of the concrete subclasses of Format employ the notion of a pattern. A pattern is a string representation of the rules which govern the interconversion between values and strings. For example, a DecimalFormat object may be associated with the pattern "$#,##0.00;($#,##0.00)", which is a common US English format for currency values, yielding strings such as "$1,234.45" for 1234.45, and "($987.65)" for 987.6543. The specific syntax of a pattern is defined by each subclass.

Even though many subclasses use patterns, the notion of a pattern is not inherent to Format classes in general, and is not part of the explicit base class protocol.

Two complex formatting classes bear mentioning. These are MessageFormat and ChoiceFormat. ChoiceFormat is a subclass of NumberFormat which allows the user to format different number ranges as strings. For instance, 0 may be represented as "no files", 1 as "one file", and any number greater than 1 as "many files". MessageFormat is a formatter which utilizes other Format objects to format a string containing with multiple values. For instance, A MessageFormat object might produce the string "There are no files on the disk MyDisk on February 27, 1997." given the arguments 0, "MyDisk", and the date value of 2/27/97. See the ChoiceFormat and MessageFormat headers for further information.

If formatting is unsuccessful, a failing UErrorCode is returned when the Format cannot format the type of object, otherwise if there is something illformed about the the Unicode replacement character 0xFFFD is returned.

If there is no match when parsing, a parse failure UErrorCode is retured for methods which take no ParsePosition. For the method that takes a ParsePosition, the index parameter is left unchanged.

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.

Definition at line 94 of file format.h.

Public Member Functions

virtual Formatclone () const =0
virtual UnicodeStringformat (const Formattable &obj, UnicodeString &appendTo, FieldPositionIterator *posIter, UErrorCode &status) const
virtual UnicodeStringformat (const Formattable &obj, UnicodeString &appendTo, FieldPosition &pos, UErrorCode &status) const =0
UnicodeStringformat (const Formattable &obj, UnicodeString &appendTo, UErrorCode &status) const
virtual UClassID getDynamicClassID () const =0
Locale getLocale (ULocDataLocaleType type, UErrorCode &status) const
const char * getLocaleID (ULocDataLocaleType type, UErrorCode &status) const
UBool operator!= (const Format &other) const
virtual UBool operator== (const Format &other) const =0
void parseObject (const UnicodeString &source, Formattable &result, UErrorCode &status) const
virtual void parseObject (const UnicodeString &source, Formattable &result, ParsePosition &parse_pos) const =0
virtual ~Format ()

Static Public Member Functions

static void U_EXPORT2 operator delete (void *, void *) U_NO_THROW
static void U_EXPORT2 operator delete (void *p) U_NO_THROW
static void U_EXPORT2 operator delete[] (void *p) U_NO_THROW
static void *U_EXPORT2 operator new (size_t, void *ptr) U_NO_THROW
static void *U_EXPORT2 operator new (size_t size) U_NO_THROW
static void *U_EXPORT2 operator new[] (size_t size) U_NO_THROW

Protected Member Functions

 Format (const Format &)
 Format ()
Formatoperator= (const Format &)
void setLocaleIDs (const char *valid, const char *actual)

Static Protected Member Functions

static void syntaxError (const UnicodeString &pattern, int32_t pos, UParseError &parseError)

Private Attributes

char actualLocale [ULOC_FULLNAME_CAPACITY]

The documentation for this class was generated from the following files:

Generated by  Doxygen 1.6.0   Back to index