Package org.teavm.classlib.impl.tz
Class CachedDateTimeZone
java.lang.Object
org.teavm.classlib.impl.tz.DateTimeZone
org.teavm.classlib.impl.tz.StorableDateTimeZone
org.teavm.classlib.impl.tz.CachedDateTimeZone
Improves the performance of requesting time zone offsets and name keys by
caching the results. Time zones that have simple rules or are fixed should
not be cached, as it is unlikely to improve performance.
CachedDateTimeZone is thread-safe and immutable.
- Since:
- 1.0
-
Field Summary
Fields inherited from class org.teavm.classlib.impl.tz.StorableDateTimeZone
ALIAS, DST, FIXED, PRECALCULATED, RULE_BASED
-
Method Summary
Modifier and TypeMethodDescriptionstatic CachedDateTimeZone
forZone
(StorableDateTimeZone zone) Returns a new CachedDateTimeZone unless given zone is already cached.int
getOffset
(long instant) Gets the millisecond offset to add to UTC to get local time.int
getStandardOffset
(long instant) Gets the standard millisecond offset to add to UTC to get local time, when standard time is in effect.Returns the DateTimeZone being wrapped.boolean
isFixed()
Returns true if this time zone has no transitions.long
nextTransition
(long instant) Advances the given instant to where the time zone offset or name changes.long
previousTransition
(long instant) Retreats the given instant to where the time zone offset or name changes.void
write
(StringBuilder sb) Methods inherited from class org.teavm.classlib.impl.tz.StorableDateTimeZone
read, readTime, readTimeArray, readUnsignedTime, writeTime, writeTimeArray, writeUnsignedTime
Methods inherited from class org.teavm.classlib.impl.tz.DateTimeZone
adjustOffset, convertLocalToUTC, convertLocalToUTC, convertUTCToLocal, getID, getMillisKeepLocal, getOffsetFromLocal, isStandardOffset
-
Method Details
-
forZone
Returns a new CachedDateTimeZone unless given zone is already cached. -
write
- Specified by:
write
in classStorableDateTimeZone
-
getUncachedZone
Returns the DateTimeZone being wrapped. -
getOffset
public int getOffset(long instant) Description copied from class:DateTimeZone
Gets the millisecond offset to add to UTC to get local time.- Specified by:
getOffset
in classDateTimeZone
- Parameters:
instant
- milliseconds from 1970-01-01T00:00:00Z to get the offset for- Returns:
- the millisecond offset to add to UTC to get local time
-
getStandardOffset
public int getStandardOffset(long instant) Description copied from class:DateTimeZone
Gets the standard millisecond offset to add to UTC to get local time, when standard time is in effect.- Specified by:
getStandardOffset
in classDateTimeZone
- Parameters:
instant
- milliseconds from 1970-01-01T00:00:00Z to get the offset for- Returns:
- the millisecond offset to add to UTC to get local time
-
isFixed
public boolean isFixed()Description copied from class:DateTimeZone
Returns true if this time zone has no transitions.- Specified by:
isFixed
in classDateTimeZone
- Returns:
- true if no transitions
-
nextTransition
public long nextTransition(long instant) Description copied from class:DateTimeZone
Advances the given instant to where the time zone offset or name changes. If the instant returned is exactly the same as passed in, then no changes occur after the given instant.- Specified by:
nextTransition
in classDateTimeZone
- Parameters:
instant
- milliseconds from 1970-01-01T00:00:00Z- Returns:
- milliseconds from 1970-01-01T00:00:00Z
-
previousTransition
public long previousTransition(long instant) Description copied from class:DateTimeZone
Retreats the given instant to where the time zone offset or name changes. If the instant returned is exactly the same as passed in, then no changes occur before the given instant.- Specified by:
previousTransition
in classDateTimeZone
- Parameters:
instant
- milliseconds from 1970-01-01T00:00:00Z- Returns:
- milliseconds from 1970-01-01T00:00:00Z
-
asZoneRules
- Specified by:
asZoneRules
in classDateTimeZone
-