Class DurationUtils

    • Method Detail

      • accept

        public static <T extends Throwable> void accept​(FailableBiConsumer<Long,​Integer,​T> consumer,
                                                        Duration duration)
                                                 throws T extends Throwable
        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.
        T extends Throwable
      • 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 ThrowableDuration of​(FailableConsumer<Instant,​E> consumer)
                                                 throws E extends Throwable
        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.
        E extends Throwable
        Since:
        3.13.0
      • of

        public static <E extends ThrowableDuration of​(FailableRunnable<E> runnable)
                                                 throws E extends Throwable
        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.
        E extends Throwable
        Since:
        3.13.0
      • 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.