org.joda.time.tz
Class CachedDateTimeZone

java.lang.Object
  extended byorg.joda.time.DateTimeZone
      extended byorg.joda.time.tz.CachedDateTimeZone
All Implemented Interfaces:
Serializable

public class CachedDateTimeZone
extends DateTimeZone

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
Author:
Brian S O'Neill
See Also:
Serialized Form

Field Summary
 
Fields inherited from class org.joda.time.DateTimeZone
UTC
 
Method Summary
 boolean equals(Object obj)
          Compare this datetime zone with another.
static CachedDateTimeZone forZone(DateTimeZone zone)
          Returns a new CachedDateTimeZone unless given zone is already cached.
 String getNameKey(long instant)
          Returns a non-localized name that is unique to this time zone.
 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.
 DateTimeZone getUncachedZone()
          Returns the DateTimeZone being wrapped.
 int hashCode()
          Gets a hash code compatable with equals.
 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.
 
Methods inherited from class org.joda.time.DateTimeZone
convertLocalToUTC, convertUTCToLocal, forID, forOffsetHours, forOffsetHoursMinutes, forOffsetMillis, forTimeZone, getAvailableIDs, getDefault, getID, getMillisKeepLocal, getName, getName, getNameProvider, getOffset, getOffsetFromLocal, getProvider, getShortName, getShortName, isLocalDateTimeGap, isStandardOffset, setDefault, setNameProvider, setProvider, toString, toTimeZone
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Method Detail

forZone

public static CachedDateTimeZone forZone(DateTimeZone zone)
Returns a new CachedDateTimeZone unless given zone is already cached.


getUncachedZone

public DateTimeZone getUncachedZone()
Returns the DateTimeZone being wrapped.


getNameKey

public String getNameKey(long instant)
Description copied from class: DateTimeZone
Returns a non-localized name that is unique to this time zone. It can be combined with id to form a unique key for fetching localized names.

Specified by:
getNameKey in class DateTimeZone
Parameters:
instant - milliseconds from 1970-01-01T00:00:00Z to get the name for
Returns:
name key or null if id should be used for names

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 class DateTimeZone
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 class DateTimeZone
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 class DateTimeZone
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 class DateTimeZone
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 class DateTimeZone
Parameters:
instant - milliseconds from 1970-01-01T00:00:00Z
Returns:
milliseconds from 1970-01-01T00:00:00Z

hashCode

public int hashCode()
Description copied from class: DateTimeZone
Gets a hash code compatable with equals.

Overrides:
hashCode in class DateTimeZone
Returns:
suitable hashcode

equals

public boolean equals(Object obj)
Description copied from class: DateTimeZone
Compare this datetime zone with another.

Specified by:
equals in class DateTimeZone
Parameters:
obj - the object to compare with
Returns:
true if equal, based on the ID and all internal rules


Copyright © 2002-2008 Joda.org. All Rights Reserved.