ICU 4.8.1.1  4.8.1.1
Public Member Functions | Static Public Member Functions | Static Public Attributes
AnnualTimeZoneRule Class Reference

AnnualTimeZoneRule is a class used for representing a time zone rule which takes effect annually. More...

#include <tzrule.h>

Inheritance diagram for AnnualTimeZoneRule:
TimeZoneRule UObject UMemory

Public Member Functions

 AnnualTimeZoneRule (const UnicodeString &name, int32_t rawOffset, int32_t dstSavings, const DateTimeRule &dateTimeRule, int32_t startYear, int32_t endYear)
 Constructs a AnnualTimeZoneRule with the name, the GMT offset of its standard time, the amount of daylight saving offset adjustment, the annual start time rule and the start/until years.
 AnnualTimeZoneRule (const UnicodeString &name, int32_t rawOffset, int32_t dstSavings, DateTimeRule *dateTimeRule, int32_t startYear, int32_t endYear)
 Constructs a AnnualTimeZoneRule with the name, the GMT offset of its standard time, the amount of daylight saving offset adjustment, the annual start time rule and the start/until years.
 AnnualTimeZoneRule (const AnnualTimeZoneRule &source)
 Copy constructor.
virtual ~AnnualTimeZoneRule ()
 Destructor.
virtual AnnualTimeZoneRuleclone (void) const
 Clone this AnnualTimeZoneRule object polymorphically.
AnnualTimeZoneRuleoperator= (const AnnualTimeZoneRule &right)
 Assignment operator.
virtual UBool operator== (const TimeZoneRule &that) const
 Return true if the given TimeZoneRule objects are semantically equal.
virtual UBool operator!= (const TimeZoneRule &that) const
 Return true if the given TimeZoneRule objects are semantically unequal.
const DateTimeRulegetRule (void) const
 Gets the start date/time rule used by this rule.
int32_t getStartYear (void) const
 Gets the first year when this rule takes effect.
int32_t getEndYear (void) const
 Gets the end year when this rule takes effect.
UBool getStartInYear (int32_t year, int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const
 Gets the time when this rule takes effect in the given year.
virtual UBool isEquivalentTo (const TimeZoneRule &that) const
 Returns if this rule represents the same rule and offsets as another.
virtual UBool getFirstStart (int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const
 Gets the very first time when this rule takes effect.
virtual UBool getFinalStart (int32_t prevRawOffset, int32_t prevDSTSavings, UDate &result) const
 Gets the final time when this rule takes effect.
virtual UBool getNextStart (UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const
 Gets the first time when this rule takes effect after the specified time.
virtual UBool getPreviousStart (UDate base, int32_t prevRawOffset, int32_t prevDSTSavings, UBool inclusive, UDate &result) const
 Gets the most recent time when this rule takes effect before the specified time.
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 Attributes

static const int32_t MAX_YEAR
 The constant representing the maximum year used for designating a rule is permanent.

Detailed Description

AnnualTimeZoneRule is a class used for representing a time zone rule which takes effect annually.

The calenday system used for the rule is is based on Gregorian calendar

Stable:
ICU 3.8

Definition at line 376 of file tzrule.h.


Constructor & Destructor Documentation

AnnualTimeZoneRule::AnnualTimeZoneRule ( const UnicodeString name,
int32_t  rawOffset,
int32_t  dstSavings,
const DateTimeRule dateTimeRule,
int32_t  startYear,
int32_t  endYear 
)

Constructs a AnnualTimeZoneRule with the name, the GMT offset of its standard time, the amount of daylight saving offset adjustment, the annual start time rule and the start/until years.

The input DateTimeRule is copied by this constructor, so the caller remains responsible for deleting the object.

Parameters:
nameThe time zone name.
rawOffsetThe GMT offset of its standard time in milliseconds.
dstSavingsThe amount of daylight saving offset adjustment in milliseconds. If this ia a rule for standard time, the value of this argument is 0.
dateTimeRuleThe start date/time rule repeated annually.
startYearThe first year when this rule takes effect.
endYearThe last year when this rule takes effect. If this rule is effective forever in future, specify MAX_YEAR.
Stable:
ICU 3.8
AnnualTimeZoneRule::AnnualTimeZoneRule ( const UnicodeString name,
int32_t  rawOffset,
int32_t  dstSavings,
DateTimeRule dateTimeRule,
int32_t  startYear,
int32_t  endYear 
)

Constructs a AnnualTimeZoneRule with the name, the GMT offset of its standard time, the amount of daylight saving offset adjustment, the annual start time rule and the start/until years.

The input DateTimeRule object is adopted by this object, therefore, the caller must not delete the object.

Parameters:
nameThe time zone name.
rawOffsetThe GMT offset of its standard time in milliseconds.
dstSavingsThe amount of daylight saving offset adjustment in milliseconds. If this ia a rule for standard time, the value of this argument is 0.
dateTimeRuleThe start date/time rule repeated annually.
startYearThe first year when this rule takes effect.
endYearThe last year when this rule takes effect. If this rule is effective forever in future, specify MAX_YEAR.
Stable:
ICU 3.8

Copy constructor.

Parameters:
sourceThe AnnualTimeZoneRule object to be copied.
Stable:
ICU 3.8

Destructor.

Stable:
ICU 3.8

Member Function Documentation

virtual AnnualTimeZoneRule* AnnualTimeZoneRule::clone ( void  ) const [virtual]

Clone this AnnualTimeZoneRule object polymorphically.

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

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

Implements TimeZoneRule.

virtual UClassID AnnualTimeZoneRule::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 3.8

Implements UObject.

Gets the end year when this rule takes effect.

Returns:
The end year of this rule (inclusive). The year is in Gregorian calendar with 0 == 1 BCE, -1 == 2 BCE, etc.
Stable:
ICU 3.8
virtual UBool AnnualTimeZoneRule::getFinalStart ( int32_t  prevRawOffset,
int32_t  prevDSTSavings,
UDate result 
) const [virtual]

Gets the final time when this rule takes effect.

Parameters:
prevRawOffsetThe standard time offset from UTC before this rule takes effect in milliseconds.
prevDSTSavingsThe amount of daylight saving offset from the standard time.
resultReceives the final time when this rule takes effect.
Returns:
true if the start time is available. When false is returned, output parameter "result" is unchanged.
Stable:
ICU 3.8

Implements TimeZoneRule.

virtual UBool AnnualTimeZoneRule::getFirstStart ( int32_t  prevRawOffset,
int32_t  prevDSTSavings,
UDate result 
) const [virtual]

Gets the very first time when this rule takes effect.

Parameters:
prevRawOffsetThe standard time offset from UTC before this rule takes effect in milliseconds.
prevDSTSavingsThe amount of daylight saving offset from the standard time.
resultReceives the very first time when this rule takes effect.
Returns:
true if the start time is available. When false is returned, output parameter "result" is unchanged.
Stable:
ICU 3.8

Implements TimeZoneRule.

virtual UBool AnnualTimeZoneRule::getNextStart ( UDate  base,
int32_t  prevRawOffset,
int32_t  prevDSTSavings,
UBool  inclusive,
UDate result 
) const [virtual]

Gets the first time when this rule takes effect after the specified time.

Parameters:
baseThe first start time after this base time will be returned.
prevRawOffsetThe standard time offset from UTC before this rule takes effect in milliseconds.
prevDSTSavingsThe amount of daylight saving offset from the standard time.
inclusiveWhether the base time is inclusive or not.
resultReceives The first time when this rule takes effect after the specified base time.
Returns:
true if the start time is available. When false is returned, output parameter "result" is unchanged.
Stable:
ICU 3.8

Implements TimeZoneRule.

virtual UBool AnnualTimeZoneRule::getPreviousStart ( UDate  base,
int32_t  prevRawOffset,
int32_t  prevDSTSavings,
UBool  inclusive,
UDate result 
) const [virtual]

Gets the most recent time when this rule takes effect before the specified time.

Parameters:
baseThe most recent time before this base time will be returned.
prevRawOffsetThe standard time offset from UTC before this rule takes effect in milliseconds.
prevDSTSavingsThe amount of daylight saving offset from the standard time.
inclusiveWhether the base time is inclusive or not.
resultReceives The most recent time when this rule takes effect before the specified base time.
Returns:
true if the start time is available. When false is returned, output parameter "result" is unchanged.
Stable:
ICU 3.8

Implements TimeZoneRule.

const DateTimeRule* AnnualTimeZoneRule::getRule ( void  ) const

Gets the start date/time rule used by this rule.

Returns:
The AnnualDateTimeRule which represents the start date/time rule used by this time zone rule.
Stable:
ICU 3.8
UBool AnnualTimeZoneRule::getStartInYear ( int32_t  year,
int32_t  prevRawOffset,
int32_t  prevDSTSavings,
UDate result 
) const

Gets the time when this rule takes effect in the given year.

Parameters:
yearThe Gregorian year, with 0 == 1 BCE, -1 == 2 BCE, etc.
prevRawOffsetThe standard time offset from UTC before this rule takes effect in milliseconds.
prevDSTSavingsThe amount of daylight saving offset from the standard time.
resultReceives the start time in the year.
Returns:
true if this rule takes effect in the year and the result is set to "result".
Stable:
ICU 3.8

Gets the first year when this rule takes effect.

Returns:
The start year of this rule. The year is in Gregorian calendar with 0 == 1 BCE, -1 == 2 BCE, etc.
Stable:
ICU 3.8
static UClassID AnnualTimeZoneRule::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 3.8
virtual UBool AnnualTimeZoneRule::isEquivalentTo ( const TimeZoneRule that) const [virtual]

Returns if this rule represents the same rule and offsets as another.

When two TimeZoneRule objects differ only its names, this method returns true.

Parameters:
thatThe TimeZoneRule object to be compared with.
Returns:
true if the other TimeZoneRule is equivalent to this one.
Stable:
ICU 3.8

Reimplemented from TimeZoneRule.

virtual UBool AnnualTimeZoneRule::operator!= ( const TimeZoneRule that) const [virtual]

Return true if the given TimeZoneRule objects are semantically unequal.

Objects of different subclasses are considered unequal.

Parameters:
thatThe object to be compared with.
Returns:
true if the given TimeZoneRule objects are semantically unequal.
Stable:
ICU 3.8

Reimplemented from TimeZoneRule.

AnnualTimeZoneRule& AnnualTimeZoneRule::operator= ( const AnnualTimeZoneRule right)

Assignment operator.

Parameters:
rightThe object to be copied.
Stable:
ICU 3.8
virtual UBool AnnualTimeZoneRule::operator== ( const TimeZoneRule that) const [virtual]

Return true if the given TimeZoneRule objects are semantically equal.

Objects of different subclasses are considered unequal.

Parameters:
thatThe object to be compared with.
Returns:
true if the given TimeZoneRule objects are semantically equal.
Stable:
ICU 3.8

Reimplemented from TimeZoneRule.


The documentation for this class was generated from the following file:
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Friends Defines