Class Duration
java.lang.Object
javax.cache.expiry.Duration
- All Implemented Interfaces:
Serializable
A
Serializable 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
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final longHow long, in the specified units, the cache entries should live.static final DurationETERNAL (forever).static final DurationFive minutes.static final DurationOne day.static final DurationOne hour.static final DurationOne minute.static final longThe serialVersionUID required forSerializable.static final DurationTen minutes.static final DurationThirty minutes.private final TimeUnitThe unit of time to specify time in.static final DurationTwenty minutes.static final DurationZero (no time). -
Constructor Summary
ConstructorsConstructorDescriptionDuration()Constructs an eternal duration (isEternal()is true).Duration(long startTime, long endTime) Constructs aDurationbased on the duration between two specified points in time (since the Epoc), measured in milliseconds.Constructs a duration. -
Method Summary
Modifier and TypeMethodDescriptionbooleanlonggetAdjustedTime(long time) Calculates the adjusted time (represented in milliseconds from the Epoc) given a specified time in milliseconds (to be adjusted) by the duration.longObtain the number of TimeUnits in the DurationObtain the TimeUnit for the DurationinthashCode()booleanDetermines if aDurationis eternal (forever).booleanisZero()Determines if aDurationis zero.
-
Field Details
-
serialVersionUID
-
ETERNAL
ETERNAL (forever). -
ONE_DAY
One day. -
ONE_HOUR
One hour. -
THIRTY_MINUTES
Thirty minutes. -
TWENTY_MINUTES
Twenty minutes. -
TEN_MINUTES
Ten minutes. -
FIVE_MINUTES
Five minutes. -
ONE_MINUTE
One minute. -
ZERO
Zero (no time). -
timeUnit
The unit of time to specify time in. The minimum time unit is milliseconds. -
durationAmount
private final long durationAmountHow long, in the specified units, the cache entries should live. The lifetime is measured from the cache entry was last accessed or mutated.
-
-
Constructor Details
-
Duration
public Duration()Constructs an eternal duration (isEternal()is true). Since the duration is immutable the constantETERNALshould be used alternatively. -
Duration
Constructs a duration. The eternal duration (isEternal()is true) is represented by specifyingnullfortimeUnitand0fordurationAmount.- 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 thedurationAmountis not 0IllegalArgumentException- if durationAmount is less than 0 or a TimeUnit less than milliseconds is specified
-
Duration
public Duration(long startTime, long endTime) Constructs aDurationbased on the duration between two specified points in time (since the Epoc), measured in milliseconds.If either parameter is
Long.MAX_VALUEan eternal duration (isEternal()is true) will be constructed.- Parameters:
startTime- the start time (since the Epoc)endTime- the end time (since the Epoc)
-
-
Method Details
-
getTimeUnit
-
getDurationAmount
public long getDurationAmount()Obtain the number of TimeUnits in the Duration- Returns:
- the number of TimeUnits
-
isEternal
-
isZero
-
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_VALUEis returned.- Parameters:
time- the time from which to adjust given the duration- Returns:
- the adjusted time
-
equals
-
hashCode
-