com.ibm.icu.util
Class TimeZoneRule

java.lang.Object
  extended by com.ibm.icu.util.TimeZoneRule
All Implemented Interfaces:
Serializable
Direct Known Subclasses:
AnnualTimeZoneRule, InitialTimeZoneRule, TimeArrayTimeZoneRule

public abstract class TimeZoneRule
extends Object
implements Serializable

TimeZoneRule is an abstract class representing a rule for time zone. TimeZoneRule has a set of time zone attributes, such as zone name, raw offset (UTC offset for standard time) and daylight saving time offset.

See Also:
TimeZoneTransition, RuleBasedTimeZone, Serialized Form
Status:
Stable ICU 3.8.

Constructor Summary
TimeZoneRule(String name, int rawOffset, int dstSavings)
          Constructs a TimeZoneRule with the name, the GMT offset of its standard time and the amount of daylight saving offset adjustment.
 
Method Summary
 int getDSTSavings()
          Gets the amount of daylight saving delta time from the standard time.
abstract  Date getFinalStart(int prevRawOffset, int prevDSTSavings)
          Gets the final time when this rule takes effect.
abstract  Date getFirstStart(int prevRawOffset, int prevDSTSavings)
          Gets the very first time when this rule takes effect.
 String getName()
          Gets the name of this time zone.
abstract  Date getNextStart(long base, int prevRawOffset, int prevDSTSavings, boolean inclusive)
          Gets the first time when this rule takes effect after the specified time.
abstract  Date getPreviousStart(long base, int prevRawOffset, int prevDSTSavings, boolean inclusive)
          Gets the most recent time when this rule takes effect before the specified time.
 int getRawOffset()
          Gets the standard time offset.
 boolean isEquivalentTo(TimeZoneRule other)
          Returns if this rule represents the same rule and offsets as another.
abstract  boolean isTransitionRule()
          Returns if this TimeZoneRule has one or more start times.
 String toString()
          Returns a String representation of this TimeZoneRule object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

TimeZoneRule

public TimeZoneRule(String name,
                    int rawOffset,
                    int dstSavings)
Constructs a TimeZoneRule with the name, the GMT offset of its standard time and the amount of daylight saving offset adjustment.

Parameters:
name - The time zone name.
rawOffset - The UTC offset of its standard time in milliseconds.
dstSavings - The amount of daylight saving offset adjustment in milliseconds. If this is a rule for standard time, the value of this argument is 0.
Status:
Stable ICU 3.8.
Method Detail

getName

public String getName()
Gets the name of this time zone.

Returns:
The name of this time zone.
Status:
Stable ICU 3.8.

getRawOffset

public int getRawOffset()
Gets the standard time offset.

Returns:
The standard time offset from UTC in milliseconds.
Status:
Stable ICU 3.8.

getDSTSavings

public int getDSTSavings()
Gets the amount of daylight saving delta time from the standard time.

Returns:
The amount of daylight saving offset used by this rule in milliseconds.
Status:
Stable ICU 3.8.

isEquivalentTo

public boolean isEquivalentTo(TimeZoneRule other)
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:
other - The TimeZoneRule object to be compared with.
Returns:
true if the other TimeZoneRule is the same as this one.
Status:
Stable ICU 3.8.

getFirstStart

public abstract Date getFirstStart(int prevRawOffset,
                                   int prevDSTSavings)
Gets the very first time when this rule takes effect.

Parameters:
prevRawOffset - The standard time offset from UTC before this rule takes effect in milliseconds.
prevDSTSavings - The amount of daylight saving offset from the standard time.
Returns:
The very first time when this rule takes effect.
Status:
Stable ICU 3.8.

getFinalStart

public abstract Date getFinalStart(int prevRawOffset,
                                   int prevDSTSavings)
Gets the final time when this rule takes effect.

Parameters:
prevRawOffset - The standard time offset from UTC before this rule takes effect in milliseconds.
prevDSTSavings - The amount of daylight saving offset from the standard time.
Returns:
The very last time when this rule takes effect, or null if this rule is applied for future dates infinitely.
Status:
Stable ICU 3.8.

getNextStart

public abstract Date getNextStart(long base,
                                  int prevRawOffset,
                                  int prevDSTSavings,
                                  boolean inclusive)
Gets the first time when this rule takes effect after the specified time.

Parameters:
base - The first time after this time is returned.
prevRawOffset - The standard time offset from UTC before this rule takes effect in milliseconds.
prevDSTSavings - The amount of daylight saving offset from the standard time.
inclusive - Whether the base time is inclusive or not.
Returns:
The first time when this rule takes effect after the specified time, or null when this rule never takes effect after the specified time.
Status:
Stable ICU 3.8.

getPreviousStart

public abstract Date getPreviousStart(long base,
                                      int prevRawOffset,
                                      int prevDSTSavings,
                                      boolean inclusive)
Gets the most recent time when this rule takes effect before the specified time.

Parameters:
base - The most recent time when this rule takes effect before this time is returned.
prevRawOffset - The standard time offset from UTC before this rule takes effect in milliseconds.
prevDSTSavings - The amount of daylight saving offset from the standard time.
inclusive - Whether the base time is inclusive or not.
Returns:
The most recent time when this rule takes effect before the specified time, or null when this rule never takes effect before the specified time.
Status:
Stable ICU 3.8.

isTransitionRule

public abstract boolean isTransitionRule()
Returns if this TimeZoneRule has one or more start times.

Returns:
true if this has one or more start times.
Status:
Stable ICU 3.8.

toString

public String toString()
Returns a String representation of this TimeZoneRule object. This method is used for debugging purpose only. The string representation can be changed in future version of ICU without any notice.

Overrides:
toString in class Object
Status:
Stable ICU 3.8.


Copyright (c) 2011 IBM Corporation and others.