@Immutable @ThreadSafe public class Duration extends java.lang.Object implements java.lang.Comparable<Duration>, java.io.Serializable
A Duration represents a duration of time. The minimum unit are milliseconds.
It could be defined by an amount of milliseconds, a combination of amount and TimeUnit and a string pattern.
<amount>[<unit>][[ ]...]
S/ms: millisecondss: secondsm: minutesh: hoursd: daysw: weeks
new Duration("1ms").toMilliSeconds() == 1
new Duration("1s").toMilliSeconds() == 1,000
new Duration("1m").toMilliSeconds() == 60,000
new Duration("1m10s").toMilliSeconds() == 70,000
new Duration("1m 10s").toMilliSeconds() == 70,000
new Duration("15").toMilliSeconds() == 15
new Duration("2s 15").toMilliSeconds() == 2,015
| Modifier and Type | Class and Description |
|---|---|
static class |
Duration.Adapter |
| Constructor and Description |
|---|
Duration(java.util.Date from,
java.util.Date to) |
Duration(long milliSeconds) |
Duration(long duration,
java.util.concurrent.TimeUnit durationUnit) |
Duration(java.lang.String plain) |
| Modifier and Type | Method and Description |
|---|---|
int |
compareTo(Duration other) |
Duration |
dividedBy(double what) |
Duration |
dividedBy(long what) |
static Duration |
duration(Duration duration) |
static Duration |
duration(long duration) |
static Duration |
duration(java.lang.String duration) |
static Duration |
durationOf(Duration duration) |
static Duration |
durationOf(long duration) |
static Duration |
durationOf(java.lang.String duration) |
boolean |
equals(java.lang.Object o) |
boolean |
hasContent() |
int |
hashCode() |
long |
in(java.util.concurrent.TimeUnit timeUnit) |
boolean |
isEmpty() |
boolean |
isGreaterThan(Duration other) |
boolean |
isGreaterThan(long milliSeconds) |
boolean |
isGreaterThan(long amount,
java.util.concurrent.TimeUnit unit) |
boolean |
isGreaterThan(java.lang.String other) |
boolean |
isGreaterThanOrEqualTo(Duration other) |
boolean |
isGreaterThanOrEqualTo(long milliSeconds) |
boolean |
isGreaterThanOrEqualTo(long amount,
java.util.concurrent.TimeUnit unit) |
boolean |
isGreaterThanOrEqualTo(java.lang.String other) |
boolean |
isLessThan(Duration other) |
boolean |
isLessThan(long milliSeconds) |
boolean |
isLessThan(long amount,
java.util.concurrent.TimeUnit unit) |
boolean |
isLessThan(java.lang.String other) |
boolean |
isLessThanOrEqualTo(Duration other) |
boolean |
isLessThanOrEqualTo(long milliSeconds) |
boolean |
isLessThanOrEqualTo(long amount,
java.util.concurrent.TimeUnit unit) |
boolean |
isLessThanOrEqualTo(java.lang.String other) |
Duration |
minus(Duration duration) |
Duration |
minus(long milliSeconds) |
Duration |
minus(long amount,
java.util.concurrent.TimeUnit unit) |
Duration |
minus(java.lang.String duration) |
Duration |
multiplyBy(double what) |
Duration |
multiplyBy(long what) |
protected static long |
oneIntervalToMilliSeconds(java.lang.String interval) |
protected static long |
oneUncheckedIntervalToMilliSeconds(java.lang.String interval) |
protected static long |
parsePattern(java.lang.String pattern) |
Duration |
plus(Duration duration) |
Duration |
plus(long milliSeconds) |
Duration |
plus(long amount,
java.util.concurrent.TimeUnit unit) |
Duration |
plus(java.lang.String duration) |
static Duration |
since(long startTime)
Returns a new
Duration object for the time
between now and the
given startTime. |
void |
sleep() |
static void |
sleep(Duration duration) |
static void |
sleep(long milliSeconds) |
static void |
sleep(long amount,
java.util.concurrent.TimeUnit unit) |
static void |
sleep(java.lang.String duration) |
static void |
sleepSafe(Duration duration) |
static void |
sleepSafe(long milliSeconds) |
static void |
sleepSafe(long amount,
java.util.concurrent.TimeUnit unit) |
static void |
sleepSafe(java.lang.String duration) |
void |
sleepUnchecked() |
long |
toMilliSeconds() |
java.lang.String |
toPattern() |
protected static java.lang.String |
toPattern(long milliseconds) |
java.lang.String |
toString() |
java.util.Map<java.util.concurrent.TimeUnit,java.lang.Long> |
toUnitToValue() |
protected static java.util.Map<java.util.concurrent.TimeUnit,java.lang.Long> |
toUnitToValue(long milliseconds) |
Duration |
trim(java.util.concurrent.TimeUnit toUnit) |
public Duration(@Nonnegative
long milliSeconds)
public Duration(@Nonnegative
long duration,
java.util.concurrent.TimeUnit durationUnit)
public Duration(@Nonnull
java.lang.String plain)
throws java.lang.IllegalArgumentException
plain - See Durationjava.lang.IllegalArgumentExceptionpublic Duration(@Nonnull
java.util.Date from,
@Nonnull
java.util.Date to)
public static void sleep(@Nonnull
java.lang.String duration)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic static void sleep(@Nonnull
Duration duration)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic static void sleep(@Nonnegative
long amount,
@Nonnull
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic static void sleep(@Nonnegative
long milliSeconds)
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic static void sleepSafe(@Nonnull
java.lang.String duration)
throws GotInterruptedException
GotInterruptedExceptionpublic static void sleepSafe(@Nonnull
Duration duration)
throws GotInterruptedException
GotInterruptedExceptionpublic static void sleepSafe(@Nonnegative
long amount,
@Nonnull
java.util.concurrent.TimeUnit unit)
throws GotInterruptedException
GotInterruptedExceptionpublic static void sleepSafe(@Nonnegative
long milliSeconds)
throws GotInterruptedException
GotInterruptedException@Nullable public static Duration duration(@Nullable java.lang.String duration)
@Nullable public static Duration duration(@Nonnegative long duration)
@Nullable public static Duration durationOf(@Nullable java.lang.String duration)
@Nullable public static Duration durationOf(@Nonnegative long duration)
public static Duration since(long startTime)
Duration object for the time
between now and the
given startTime.startTime - the return value of a previous call to System.currentTimeMillis()@Nonnull public Duration plus(@Nullable java.lang.String duration)
@Nonnull public Duration plus(@Nonnegative long amount, @Nonnull java.util.concurrent.TimeUnit unit)
@Nonnull public Duration plus(@Nonnegative long milliSeconds)
@Nonnull public Duration minus(@Nullable java.lang.String duration)
@Nonnull public Duration minus(@Nonnegative long amount, @Nonnull java.util.concurrent.TimeUnit unit)
@Nonnull public Duration minus(@Nonnegative long milliSeconds)
@Nonnull public Duration multiplyBy(double what)
@Nonnull public Duration dividedBy(double what)
@Nonnull public Duration multiplyBy(long what)
@Nonnull public Duration dividedBy(long what)
@Nonnull public Duration trim(@Nonnull java.util.concurrent.TimeUnit toUnit)
@Nonnegative public long toMilliSeconds()
@Nonnegative
public long in(@Nonnull
java.util.concurrent.TimeUnit timeUnit)
@Nonnull public java.lang.String toPattern()
pattern.@Nonnull public java.util.Map<java.util.concurrent.TimeUnit,java.lang.Long> toUnitToValue()
public boolean isEmpty()
public boolean hasContent()
public boolean isLessThan(@Nullable
java.lang.String other)
public boolean isLessThan(@Nullable
Duration other)
public boolean isLessThan(@Nonnegative
long amount,
@Nonnull
java.util.concurrent.TimeUnit unit)
public boolean isLessThan(@Nonnegative
long milliSeconds)
public boolean isLessThanOrEqualTo(@Nullable
java.lang.String other)
public boolean isLessThanOrEqualTo(@Nullable
Duration other)
public boolean isLessThanOrEqualTo(@Nonnegative
long amount,
@Nonnull
java.util.concurrent.TimeUnit unit)
public boolean isLessThanOrEqualTo(@Nonnegative
long milliSeconds)
public boolean isGreaterThan(@Nullable
java.lang.String other)
public boolean isGreaterThan(@Nullable
Duration other)
public boolean isGreaterThan(@Nonnegative
long amount,
@Nonnull
java.util.concurrent.TimeUnit unit)
public boolean isGreaterThan(@Nonnegative
long milliSeconds)
public boolean isGreaterThanOrEqualTo(@Nullable
java.lang.String other)
public boolean isGreaterThanOrEqualTo(@Nullable
Duration other)
public boolean isGreaterThanOrEqualTo(@Nonnegative
long amount,
@Nonnull
java.util.concurrent.TimeUnit unit)
public boolean isGreaterThanOrEqualTo(@Nonnegative
long milliSeconds)
public void sleep()
throws java.lang.InterruptedException
java.lang.InterruptedExceptionpublic void sleepUnchecked()
throws GotInterruptedException
GotInterruptedExceptionpublic int compareTo(Duration other)
compareTo in interface java.lang.Comparable<Duration>public int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object o)
equals in class java.lang.Objectpublic java.lang.String toString()
toString in class java.lang.Object@Nonnegative
protected static long oneUncheckedIntervalToMilliSeconds(@Nonnull
java.lang.String interval)
@Nonnegative
protected static long oneIntervalToMilliSeconds(@Nonnull
java.lang.String interval)
@Nonnegative
protected static long parsePattern(@Nonnull
java.lang.String pattern)
throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException@Nonnull
protected static java.lang.String toPattern(@Nonnegative
long milliseconds)
@Nonnull
protected static java.util.Map<java.util.concurrent.TimeUnit,java.lang.Long> toUnitToValue(@Nonnegative
long milliseconds)
Copyright © 2013 echocat. All Rights Reserved.