Package javax.cache.expiry
Class Duration
- java.lang.Object
-
- javax.cache.expiry.Duration
-
- All Implemented Interfaces:
Serializable
public class Duration extends Object implements Serializable
ASerializable
duration of time.Although this class is not declared final, it is not intended for extension. The behavior is undefined when subclasses are created and used.
- Since:
- 1.0
- Author:
- Yannis Cosmadopoulos, Greg Luck, Brian Oliver
- See Also:
ExpiryPolicy
, Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static Duration
ETERNAL
ETERNAL (forever).static Duration
FIVE_MINUTES
Five minutes.static Duration
ONE_DAY
One day.static Duration
ONE_HOUR
One hour.static Duration
ONE_MINUTE
One minute.static long
serialVersionUID
The serialVersionUID required forSerializable
.static Duration
TEN_MINUTES
Ten minutes.static Duration
THIRTY_MINUTES
Thirty minutes.static Duration
TWENTY_MINUTES
Twenty minutes.static Duration
ZERO
Zero (no time).
-
Constructor Summary
Constructors Constructor Description Duration()
Constructs an eternal duration (isEternal()
is true).Duration(long startTime, long endTime)
Constructs aDuration
based on the duration between two specified points in time (since the Epoc), measured in milliseconds.Duration(TimeUnit timeUnit, long durationAmount)
Constructs a duration.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(Object other)
long
getAdjustedTime(long time)
Calculates the adjusted time (represented in milliseconds from the Epoc) given a specified time in milliseconds (to be adjusted) by the duration.long
getDurationAmount()
Obtain the number of TimeUnits in the DurationTimeUnit
getTimeUnit()
Obtain the TimeUnit for the Durationint
hashCode()
boolean
isEternal()
Determines if aDuration
is eternal (forever).boolean
isZero()
Determines if aDuration
is zero.
-
-
-
Field Detail
-
serialVersionUID
public static final long serialVersionUID
The serialVersionUID required forSerializable
.- See Also:
- Constant Field Values
-
ETERNAL
public static final Duration ETERNAL
ETERNAL (forever).
-
ONE_DAY
public static final Duration ONE_DAY
One day.
-
ONE_HOUR
public static final Duration ONE_HOUR
One hour.
-
THIRTY_MINUTES
public static final Duration THIRTY_MINUTES
Thirty minutes.
-
TWENTY_MINUTES
public static final Duration TWENTY_MINUTES
Twenty minutes.
-
TEN_MINUTES
public static final Duration TEN_MINUTES
Ten minutes.
-
FIVE_MINUTES
public static final Duration FIVE_MINUTES
Five minutes.
-
ONE_MINUTE
public static final Duration ONE_MINUTE
One minute.
-
ZERO
public static final Duration ZERO
Zero (no time).
-
-
Constructor Detail
-
Duration
public Duration()
Constructs an eternal duration (isEternal()
is true). Since the duration is immutable the constantETERNAL
should be used alternatively.
-
Duration
public Duration(TimeUnit timeUnit, long durationAmount)
Constructs a duration. The eternal duration (isEternal()
is true) is represented by specifyingnull
fortimeUnit
and0
fordurationAmount
.- Parameters:
timeUnit
- the unit of time to specify time in. The minimum time unit is milliseconds.durationAmount
- how long, in the specified units, the cache entries should live.- Throws:
NullPointerException
- if timeUnit is null and thedurationAmount
is not 0IllegalArgumentException
- if durationAmount is less than 0 or a TimeUnit less than milliseconds is specified
-
Duration
public Duration(long startTime, long endTime)
Constructs aDuration
based on the duration between two specified points in time (since the Epoc), measured in milliseconds.If either parameter is
Long.MAX_VALUE
an eternal duration (isEternal()
is true) will be constructed.- Parameters:
startTime
- the start time (since the Epoc)endTime
- the end time (since the Epoc)
-
-
Method Detail
-
getTimeUnit
public TimeUnit getTimeUnit()
Obtain the TimeUnit for the Duration- Returns:
- the TimeUnit
-
getDurationAmount
public long getDurationAmount()
Obtain the number of TimeUnits in the Duration- Returns:
- the number of TimeUnits
-
isEternal
public boolean isEternal()
Determines if aDuration
is eternal (forever).- Returns:
- true if the
Duration
is eternal
-
isZero
public boolean isZero()
Determines if aDuration
is zero.- Returns:
- true if the
Duration
is zero
-
getAdjustedTime
public long getAdjustedTime(long time)
Calculates the adjusted time (represented in milliseconds from the Epoc) given a specified time in milliseconds (to be adjusted) by the duration.If this instance represents an eternal duration (
isEternal()
is true), the valueLong.MAX_VALUE
is returned.- Parameters:
time
- the time from which to adjust given the duration- Returns:
- the adjusted time
-
-