ICU 4.8.1.1  4.8.1.1
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Static Public Member Functions
TimeUnitFormat Class Reference

Format or parse a TimeUnitAmount, using plural rules for the units where available. More...

#include <tmutfmt.h>

Inheritance diagram for TimeUnitFormat:
MeasureFormat Format UObject UMemory

Public Member Functions

 TimeUnitFormat (UErrorCode &status)
 Create TimeUnitFormat with default locale, and full name style.
 TimeUnitFormat (const Locale &locale, UErrorCode &status)
 Create TimeUnitFormat given locale, and full name style.
 TimeUnitFormat (const Locale &locale, UTimeUnitFormatStyle style, UErrorCode &status)
 Create TimeUnitFormat given locale and style.
 TimeUnitFormat (const TimeUnitFormat &)
 Copy constructor.
virtual ~TimeUnitFormat ()
 deconstructor
virtual Formatclone (void) const
 Clone this Format object polymorphically.
TimeUnitFormatoperator= (const TimeUnitFormat &other)
 Assignment operator.
virtual UBool operator== (const Format &other) const
 Return true if the given Format objects are semantically equal.
UBool operator!= (const Format &other) const
 Return true if the given Format objects are not semantically equal.
void setLocale (const Locale &locale, UErrorCode &status)
 Set the locale used for formatting or parsing.
void setNumberFormat (const NumberFormat &format, UErrorCode &status)
 Set the number format used for formatting or parsing.
virtual UnicodeStringformat (const Formattable &obj, UnicodeString &toAppendTo, FieldPosition &pos, UErrorCode &status) const
 Format a TimeUnitAmount.
virtual void parseObject (const UnicodeString &source, Formattable &result, ParsePosition &pos) const
 Parse a TimeUnitAmount.
virtual UClassID getDynamicClassID (void) const
 Returns a unique class ID POLYMORPHICALLY.

Static Public Member Functions

static UClassID getStaticClassID (void)
 Return the class ID for this class.
- Static Public Member Functions inherited from MeasureFormat
static MeasureFormatcreateCurrencyFormat (const Locale &locale, UErrorCode &ec)
 Return a formatter for CurrencyAmount objects in the given locale.
static MeasureFormatcreateCurrencyFormat (UErrorCode &ec)
 Return a formatter for CurrencyAmount objects in the default locale.

Additional Inherited Members

- Protected Member Functions inherited from MeasureFormat
 MeasureFormat ()
 Default constructor.
- Protected Member Functions inherited from Format
void setLocaleIDs (const char *valid, const char *actual)
 Format ()
 Default constructor for subclass use only.
 Format (const Format &)
Formatoperator= (const Format &)

Detailed Description

Format or parse a TimeUnitAmount, using plural rules for the units where available.

Code Sample:

     // create time unit amount instance - a combination of Number and time unit
     UErrorCode status = U_ZERO_ERROR;
     TimeUnitAmount* source = new TimeUnitAmount(2, TimeUnit::UTIMEUNIT_YEAR, status);
     // create time unit format instance
     TimeUnitFormat* format = new TimeUnitFormat(Locale("en"), status);
     // format a time unit amount
     UnicodeString formatted;
     Formattable formattable;
     if (U_SUCCESS(status)) {
         formattable.adoptObject(source);
         formatted = ((Format*)format)->format(formattable, formatted, status);
         Formattable result;
         ((Format*)format)->parseObject(formatted, result, status);
         if (U_SUCCESS(status)) {
             assert (result == formattable);
         }
     }
   
See also:
TimeUnitAmount
TimeUnitFormat
Draft:
This API may be changed in the future versions and was introduced in ICU 4.2

Definition at line 80 of file tmutfmt.h.


Constructor & Destructor Documentation

TimeUnitFormat::TimeUnitFormat ( UErrorCode status)

Create TimeUnitFormat with default locale, and full name style.

Use setLocale and/or setFormat to modify.

Stable:
ICU 4.2
TimeUnitFormat::TimeUnitFormat ( const Locale locale,
UErrorCode status 
)

Create TimeUnitFormat given locale, and full name style.

Stable:
ICU 4.2
TimeUnitFormat::TimeUnitFormat ( const Locale locale,
UTimeUnitFormatStyle  style,
UErrorCode status 
)

Create TimeUnitFormat given locale and style.

Draft:
This API may be changed in the future versions and was introduced in ICU 4.8
TimeUnitFormat::TimeUnitFormat ( const TimeUnitFormat )

Copy constructor.

Stable:
ICU 4.2
virtual TimeUnitFormat::~TimeUnitFormat ( )
virtual

deconstructor

Stable:
ICU 4.2

Member Function Documentation

virtual Format* TimeUnitFormat::clone ( void  ) const
virtual

Clone this Format object polymorphically.

The caller owns the result and should delete it when done.

Returns:
A copy of the object.
Stable:
ICU 4.2

Implements Format.

virtual UnicodeString& TimeUnitFormat::format ( const Formattable obj,
UnicodeString toAppendTo,
FieldPosition pos,
UErrorCode status 
) const
virtual

Format a TimeUnitAmount.

If the formattable object is not a time unit amount object, or the number in time unit amount is not a double type or long type numeric, it returns a failing status: U_ILLEGAL_ARGUMENT_ERROR.

See also:
Format::format(const Formattable&, UnicodeString&, FieldPosition&, UErrorCode&) const
Stable:
ICU 4.2

Implements Format.

virtual UClassID TimeUnitFormat::getDynamicClassID ( void  ) const
virtual

Returns a unique class ID POLYMORPHICALLY.

Pure virtual override. This method is to implement a simple version of RTTI, since not all C++ compilers support genuine RTTI. Polymorphic operator==() and clone() methods call this method.

Returns:
The class ID for this object. All objects of a given class have the same class ID. Objects of other classes have different class IDs.
Stable:
ICU 4.2

Implements UObject.

static UClassID TimeUnitFormat::getStaticClassID ( void  )
static

Return the class ID for this class.

This is useful only for comparing to a return value from getDynamicClassID(). For example:

       .   Base* polymorphic_pointer = createPolymorphicObject();
       .   if (polymorphic_pointer->getDynamicClassID() ==
       .       erived::getStaticClassID()) ...
       
Returns:
The class ID for all objects of this class.
Stable:
ICU 4.2
UBool TimeUnitFormat::operator!= ( const Format other) const
inline

Return true if the given Format objects are not semantically equal.

Objects of different subclasses are considered unequal.

Parameters:
otherthe object to be compared with.
Returns:
true if the given Format objects are not semantically equal.
Stable:
ICU 4.2

Reimplemented from Format.

Definition at line 259 of file tmutfmt.h.

References operator==().

TimeUnitFormat& TimeUnitFormat::operator= ( const TimeUnitFormat other)

Assignment operator.

Stable:
ICU 4.2
virtual UBool TimeUnitFormat::operator== ( const Format other) const
virtual

Return true if the given Format objects are semantically equal.

Objects of different subclasses are considered unequal.

Parameters:
otherthe object to be compared with.
Returns:
true if the given Format objects are semantically equal.
Stable:
ICU 4.2

Implements Format.

Referenced by operator!=().

virtual void TimeUnitFormat::parseObject ( const UnicodeString source,
Formattable result,
ParsePosition pos 
) const
virtual
void TimeUnitFormat::setLocale ( const Locale locale,
UErrorCode status 
)

Set the locale used for formatting or parsing.

Parameters:
localethe locale to be set
statusoutput param set to success/failure code on exit
Stable:
ICU 4.2
void TimeUnitFormat::setNumberFormat ( const NumberFormat format,
UErrorCode status 
)

Set the number format used for formatting or parsing.

Parameters:
formatthe number formatter to be set
statusoutput param set to success/failure code on exit
Stable:
ICU 4.2

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