Class DurationUtils

java.lang.Object
org.apache.commons.lang3.time.DurationUtils

public class DurationUtils extends Object
Utilities for Duration.
Since:
3.12.0
  • Constructor Details

  • Method Details

    • accept

      public static <T extends Throwable> void accept(FailableBiConsumer<Long,Integer,T> consumer, Duration duration) throws T
      Accepts the function with the duration as a long milliseconds and int nanoseconds.
      Type Parameters:
      T - The function exception.
      Parameters:
      consumer - Accepting function.
      duration - The duration to pick apart.
      Throws:
      T - See the function signature.
      See Also:
    • getNanosOfMiili

      @Deprecated public static int getNanosOfMiili(Duration duration)
      Deprecated.
      Gets the nanosecond part of a Duration converted to milliseconds.

      Handy when calling an API that takes a long of milliseconds and an int of nanoseconds. For example, Object.wait(long, int) and Thread.sleep(long, int).

      Note that is this different from Duration.getNano() because a duration are seconds and nanoseconds.

      Parameters:
      duration - The duration to query.
      Returns:
      nanoseconds between 0 and 999,999.
    • getNanosOfMilli

      public static int getNanosOfMilli(Duration duration)
      Gets the nanosecond part of a Duration converted to milliseconds.

      Handy when calling an API that takes a long of milliseconds and an int of nanoseconds. For example, Object.wait(long, int) and Thread.sleep(long, int).

      Note that is this different from Duration.getNano() because a duration are seconds and nanoseconds.

      Parameters:
      duration - The duration to query.
      Returns:
      nanoseconds between 0 and 999,999.
      Since:
      3.13.0
    • isPositive

      public static boolean isPositive(Duration duration)
      Tests whether the given Duration is positive (>0).
      Parameters:
      duration - the value to test
      Returns:
      whether the given Duration is positive (>0).
    • of

      public static <E extends Throwable> Duration of(FailableConsumer<Instant,E> consumer) throws E
      Runs the lambda and returns the duration of its execution.
      Type Parameters:
      E - The type of exception throw by the lambda.
      Parameters:
      consumer - What to execute.
      Returns:
      The Duration of execution.
      Throws:
      E - thrown by the lambda.
      Since:
      3.13.0
      See Also:
    • of

      public static <E extends Throwable> Duration of(FailableRunnable<E> runnable) throws E
      Runs the lambda and returns the duration of its execution.
      Type Parameters:
      E - The type of exception throw by the lambda.
      Parameters:
      runnable - What to execute.
      Returns:
      The Duration of execution.
      Throws:
      E - thrown by the lambda.
      Since:
      3.13.0
      See Also:
    • since

      public static Duration since(Temporal startInclusive)
      Computes the Duration between a start instant and now.
      Parameters:
      startInclusive - the start instant, inclusive, not null.
      Returns:
      a Duration, not null.
      Since:
      3.13.0
    • toDuration

      public static Duration toDuration(long amount, TimeUnit timeUnit)
      Converts an amount and TimeUnit into a Duration.
      Parameters:
      amount - the amount of the duration, measured in terms of the unit, positive or negative
      timeUnit - the unit that the duration is measured in, must have an exact duration, not null
      Returns:
      a Duration.
    • toMillisInt

      public static int toMillisInt(Duration duration)
      Converts a Duration to milliseconds bound to an int (instead of a long).

      Handy for low-level APIs that take millisecond timeouts in ints rather than longs.

      Parameters:
      duration - The duration to convert, not null.
      Returns:
      int milliseconds.
    • zeroIfNull

      public static Duration zeroIfNull(Duration duration)
      Returns the given non-null value or Duration.ZERO if null.
      Parameters:
      duration - The duration to test.
      Returns:
      The given duration or Duration.ZERO.