Package com.fizzed.crux.util
Class TimeDuration
- java.lang.Object
-
- com.fizzed.crux.util.TimeDuration
-
- All Implemented Interfaces:
MoreComparable<TimeDuration>,java.lang.Comparable<TimeDuration>
public class TimeDuration extends java.lang.Object implements MoreComparable<TimeDuration>
Config-friendly immutable way to represent a duration of time as long + unit and easily convert from strings. Great for json, config files, etc. Can be represented as a string such as "10ms" or "1s" or "2d".- Author:
- jjlauer
-
-
Constructor Summary
Constructors Constructor Description TimeDuration(long duration, java.util.concurrent.TimeUnit unit)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description longasDays()longasHours()longasMillis()longasMinutes()longasNanos()longasSeconds()intcompareTo(TimeDuration o)static TimeDurationdays(long durationDays)booleanequals(java.lang.Object obj)static java.util.concurrent.TimeUnitfromShort(java.lang.String value)longgetDuration()java.util.concurrent.TimeUnitgetUnit()inthashCode()static TimeDurationhours(long durationHours)booleanisZero()static TimeDurationmillis(long durationMillis)static TimeDurationminutes(long durationMinutes)static TimeDurationnanos(long durationNanos)static TimeDurationparse(java.lang.String value)static TimeDurationparse(java.lang.String value, java.util.concurrent.TimeUnit defaultUnit)static TimeDurationseconds(long durationSeconds)voidsleep()Calls Thread.sleep() but first converts this duration to milliseconds, then calls Thread.sleep.TimeDurationtoDays()TimeDurationtoHours()TimeDurationtoMillis()TimeDurationtoMinutes()TimeDurationtoNanos()TimeDurationtoSeconds()static java.lang.StringtoShort(java.util.concurrent.TimeUnit timeUnit)java.lang.StringtoString()
-
-
-
Method Detail
-
getDuration
public long getDuration()
-
getUnit
public java.util.concurrent.TimeUnit getUnit()
-
toNanos
public TimeDuration toNanos()
-
toMillis
public TimeDuration toMillis()
-
toSeconds
public TimeDuration toSeconds()
-
toMinutes
public TimeDuration toMinutes()
-
toHours
public TimeDuration toHours()
-
toDays
public TimeDuration toDays()
-
isZero
public boolean isZero()
-
sleep
public void sleep() throws java.lang.InterruptedExceptionCalls Thread.sleep() but first converts this duration to milliseconds, then calls Thread.sleep.- Throws:
java.lang.InterruptedException
-
asNanos
public long asNanos()
-
asMillis
public long asMillis()
-
asSeconds
public long asSeconds()
-
asMinutes
public long asMinutes()
-
asHours
public long asHours()
-
asDays
public long asDays()
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object obj)
- Overrides:
equalsin classjava.lang.Object
-
compareTo
public int compareTo(TimeDuration o)
- Specified by:
compareToin interfacejava.lang.Comparable<TimeDuration>
-
toShort
public static java.lang.String toShort(java.util.concurrent.TimeUnit timeUnit)
-
fromShort
public static java.util.concurrent.TimeUnit fromShort(java.lang.String value)
-
parse
public static TimeDuration parse(java.lang.String value)
-
parse
public static TimeDuration parse(java.lang.String value, java.util.concurrent.TimeUnit defaultUnit)
-
nanos
public static TimeDuration nanos(long durationNanos)
-
millis
public static TimeDuration millis(long durationMillis)
-
seconds
public static TimeDuration seconds(long durationSeconds)
-
minutes
public static TimeDuration minutes(long durationMinutes)
-
hours
public static TimeDuration hours(long durationHours)
-
days
public static TimeDuration days(long durationDays)
-
-