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
- Author:
- Yannis Cosmadopoulos, Greg Luck, Brian Oliver
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic 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.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).
-
-
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
-