Interface TimeProvider

All Superinterfaces:
Supplier<Instant>
All Known Implementing Classes:
TimeProvider.DefaultTimeProvider
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface TimeProvider extends Supplier<Instant>
A provider of current time. It should be used by code requiring a timestamp, so it can be mocked during tests. MockTimeProvider in module "Test Utilities" is a suitable mock for performing tests.
Since:
3.2-ALPHA-1 (was previously InstantProvider since 1.39)
Author:
Fabrizio Giudici
  • Field Details

  • Method Details

    • currentInstant

      @Nonnull Instant currentInstant()
      Returns the current time.
      Returns:
      the current time as an Instant
      Since:
      3.2-ALPHA-2
    • get

      @Nonnull default Instant get()
      Returns the current time. This method is provided to implement Supplier<Instant>.
      Specified by:
      get in interface Supplier<Instant>
      Returns:
      the current time as an Instant
      Since:
      3.2-ALPHA-2
    • currentZonedDateTime

      @Nonnull default ZonedDateTime currentZonedDateTime()
      Returns the current time.
      Returns:
      the current time as a ZonedDateTime in the default zone.
      Since:
      3.2-ALPHA-2
    • currentLocalDateTime

      @Nonnull default LocalDateTime currentLocalDateTime()
      Returns the current time.
      Returns:
      the current time as a LocalDateTime in the default zone.
      Since:
      3.2-ALPHA-2
    • getInstance

      @Nonnull static TimeProvider getInstance()
      Returns the default instance.
      Returns:
      the default instance
      Since:
      3.2-ALPHA-2