Package org.forgerock.util.time
Class Duration
- java.lang.Object
-
- org.forgerock.util.time.Duration
-
- All Implemented Interfaces:
Comparable<Duration>
public class Duration extends Object implements Comparable<Duration>
Represents a duration in english. Cases is not important, plurals units are accepted. Notice that negative durations are not supported.6 days 59 minutes and 1 millisecond 1 minute and 10 seconds 42 millis unlimited none zero
-
-
Constructor Summary
Constructors Constructor Description Duration(Long number, TimeUnit unit)Deprecated.Prefer the use ofduration(long, TimeUnit).
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description intcompareTo(Duration that)DurationconvertTo(TimeUnit targetUnit)Convert the current duration to a givenTimeUnit.static Durationduration(long number, TimeUnit unit)Provides aDuration, given a number and time unit.static Durationduration(String value)Provides aDurationthat represents the given duration expressed in english.booleanequals(Object other)TimeUnitgetUnit()Returns theTimeUnitthis duration is expressed in.longgetValue()Returns the number ofTimeUnitthis duration represents.inthashCode()booleanisUnlimited()Returns true if this Duration represents an unlimited (or indefinite) duration.booleanisZero()Returns true if this Duration represents a zero-length duration.longto(TimeUnit targetUnit)Convert the current duration to a number of givenTimeUnit.DurationtoJavaDuration()Returns this duration as a JavaDuration.StringtoString()
-
-
-
Constructor Detail
-
Duration
@Deprecated public Duration(Long number, TimeUnit unit)
Deprecated.Prefer the use ofduration(long, TimeUnit).Builds a newDuration.- Parameters:
number- number of time unit (cannot be null).unit- TimeUnit to express the duration in (cannot be null).
-
-
Method Detail
-
duration
public static Duration duration(long number, TimeUnit unit)
Provides aDuration, given a number and time unit.- Parameters:
number- number of time unit.unit- TimeUnit to express the duration in (cannot be null).- Returns:
Durationinstance
-
duration
public static Duration duration(String value)
Provides aDurationthat represents the given duration expressed in english.- Parameters:
value- natural speech duration- Returns:
Durationinstance- Throws:
IllegalArgumentException- if the input string is incorrectly formatted.
-
getValue
public long getValue()
Returns the number ofTimeUnitthis duration represents.- Returns:
- the number of
TimeUnitthis duration represents.
-
toJavaDuration
public Duration toJavaDuration()
Returns this duration as a JavaDuration.- Returns:
- a new equivalent Java Duration
-
getUnit
public TimeUnit getUnit()
Returns theTimeUnitthis duration is expressed in.- Returns:
- the
TimeUnitthis duration is expressed in.
-
convertTo
public Duration convertTo(TimeUnit targetUnit)
Convert the current duration to a givenTimeUnit. Conversions from finer to coarser granularities truncate, so loose precision.- Parameters:
targetUnit- target unit of the conversion.- Returns:
- converted duration
- See Also:
TimeUnit.convert(long, TimeUnit)
-
to
public long to(TimeUnit targetUnit)
Convert the current duration to a number of givenTimeUnit. Conversions from finer to coarser granularities truncate, so loose precision.- Parameters:
targetUnit- target unit of the conversion.- Returns:
- converted duration value
- See Also:
TimeUnit.convert(long, TimeUnit)
-
isUnlimited
public boolean isUnlimited()
Returns true if this Duration represents an unlimited (or indefinite) duration.- Returns:
- true if this Duration represents an unlimited duration.
-
isZero
public boolean isZero()
Returns true if this Duration represents a zero-length duration.- Returns:
- true if this Duration represents a zero-length duration.
-
compareTo
public int compareTo(Duration that)
- Specified by:
compareToin interfaceComparable<Duration>
-
-