org.megam.util

Duration

sealed class Duration extends TimeLike[Duration] with Serializable

A Duration represents the span between two points in time. It represents this with a signed long, and thus the largest representable duration is:

106751.days+23.hours+47.minutes+16.seconds +854.milliseconds+775.microseconds+807.nanoseconds

Durations may be constructed via its companion object, Duration.fromNanoseconds, Duration.fromSeconds, etc. or by using the time conversions:

import org.megam.conversions.time._

3.days+4.nanoseconds

In addition to the timespans in the range of Long.MinValue to Long.MaxValue nanoseconds, durations have two distinguished values: Duration.Top and Duration.Bottom. These have special semantics: Top is greater than every other duration, save for itself; Bottom is smaller than any duration except for itself — they act like positive and negative infinity, and their arithmetic follows. This is useful for representing durations that are truly infinite; for example the absence of a timeout.

Linear Supertypes
Serializable, TimeLike[Duration], Ordered[Duration], Comparable[Duration], AnyRef, Any
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Duration
  2. Serializable
  3. TimeLike
  4. Ordered
  5. Comparable
  6. AnyRef
  7. Any
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Definition Classes
    Any
  3. final def ##(): Int

    Definition Classes
    AnyRef → Any
  4. def %(x: Duration): Duration

    Scale the duration by the given denominator, returning its remainder

  5. def *(x: Long): Duration

    Scale the duration by the given multiplier

  6. def +(delta: Duration): Duration

    Adds delta to this TimeLike.

    Adds delta to this TimeLike. Adding Duration.Top results in the TimeLike's Top, adding Duration.Bottom results in the TimeLike's Bottom.

    Definition Classes
    TimeLike
  7. def -(delta: Duration): Duration

    Definition Classes
    TimeLike
  8. def /(x: Long): Duration

    Scale the duration by the given denominator

  9. def <(that: Duration): Boolean

    Definition Classes
    Ordered
  10. def <=(that: Duration): Boolean

    Definition Classes
    Ordered
  11. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  12. final def ==(arg0: Any): Boolean

    Definition Classes
    Any
  13. def >(that: Duration): Boolean

    Definition Classes
    Ordered
  14. def >=(that: Duration): Boolean

    Definition Classes
    Ordered
  15. def abs: Duration

    Converts negative durations to positive durations.

  16. def afterEpoch: Time

  17. def ago: Time

  18. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  19. def clone(): AnyRef

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  20. def compare(that: Duration): Int

    Definition Classes
    TimeLike → Ordered
  21. def compareTo(that: Duration): Int

    Definition Classes
    Ordered → Comparable
  22. def diff(that: Duration): Duration

    The difference between the two TimeLikes

    The difference between the two TimeLikes

    Definition Classes
    DurationTimeLike
  23. final def eq(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  24. def equals(other: Any): Boolean

    Definition Classes
    Duration → AnyRef → Any
  25. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  26. def floor(x: Duration): Duration

    Rounds down to the nearest multiple of the given duration.

    Rounds down to the nearest multiple of the given duration. For example: 127.seconds.floor(1.minute) => 2.minutes. Taking the floor of a Time object with duration greater than 1.hour can have unexpected results because of timezones.

    Definition Classes
    TimeLike
  27. def fromNow: Time

  28. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  29. def hashCode(): Int

    Definition Classes
    Duration → AnyRef → Any
  30. def inDays: Int

    Definition Classes
    TimeLike
  31. def inHours: Int

    Definition Classes
    TimeLike
  32. def inLongSeconds: Long

    Definition Classes
    TimeLike
  33. def inMicroseconds: Long

    Definition Classes
    TimeLike
  34. def inMillis: Long

    Definition Classes
    TimeLike
  35. def inMilliseconds: Long

    Definition Classes
    TimeLike
  36. def inMinutes: Int

    Definition Classes
    TimeLike
  37. def inNanoseconds: Long

    The TimeLike's value in nanoseconds.

    The TimeLike's value in nanoseconds.

    Definition Classes
    DurationTimeLike
  38. def inSeconds: Int

    Definition Classes
    TimeLike
  39. def inTimeUnit: (Long, TimeUnit)

    Returns a value/TimeUnit pair; attempting to return coarser grained values if possible (specifically: TimeUnit.SECONDS or TimeUnit.MILLISECONDS) before resorting to the default TimeUnit.NANOSECONDS.

    Returns a value/TimeUnit pair; attempting to return coarser grained values if possible (specifically: TimeUnit.SECONDS or TimeUnit.MILLISECONDS) before resorting to the default TimeUnit.NANOSECONDS.

    Definition Classes
    TimeLike
  40. def inUnit(unit: TimeUnit): Long

    Returns the length of the duration in the given TimeUnit.

    Returns the length of the duration in the given TimeUnit.

    In general, a simpler approach is to use the named methods (eg. inSeconds) However, this is useful for more programmatic call sites.

  41. def isFinite: Boolean

    Is this a finite TimeLike value?

    Is this a finite TimeLike value?

    Definition Classes
    DurationTimeLike
  42. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  43. def max(that: Duration): Duration

    Definition Classes
    TimeLike
  44. def min(that: Duration): Duration

    Definition Classes
    TimeLike
  45. def moreOrLessEquals(other: Duration, maxDelta: Duration): Boolean

    Equality within maxDelta

    Equality within maxDelta

    Definition Classes
    TimeLike
  46. val nanos: Long

    Attributes
    protected
  47. final def ne(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  48. final def notify(): Unit

    Definition Classes
    AnyRef
  49. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  50. val ops: Duration.type

    Attributes
    protected
    Definition Classes
    DurationTimeLike
  51. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  52. def toString(): String

    toString produces a representation that

    toString produces a representation that

    - loses no information - is easy to read - can be read back in if org.megam.conversions.time._ is imported

    An example:

    org.megam.util.Duration(9999999, java.util.concurrent.TimeUnit.MICROSECONDS) res0: org.megam.util.Duration = 9.seconds+999.milliseconds+999.microseconds

    Definition Classes
    Duration → AnyRef → Any
  53. def unary_-: Duration

  54. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  55. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  56. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from Serializable

Inherited from TimeLike[Duration]

Inherited from Ordered[Duration]

Inherited from Comparable[Duration]

Inherited from AnyRef

Inherited from Any

Ungrouped