Class 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 Detail

      • TimeDuration

        public TimeDuration​(long duration,
                            java.util.concurrent.TimeUnit unit)
    • Method Detail

      • getDuration

        public long getDuration()
      • getUnit

        public java.util.concurrent.TimeUnit getUnit()
      • isZero

        public boolean isZero()
      • sleep

        public void sleep()
                   throws java.lang.InterruptedException
        Calls 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:
        toString in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object obj)
        Overrides:
        equals in class java.lang.Object
      • compareTo

        public int compareTo​(TimeDuration o)
        Specified by:
        compareTo in interface java.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)