Package it.tidalwave.util
Interface TimeProvider
-
- All Superinterfaces:
java.util.function.Supplier<java.time.Instant>
- All Known Implementing Classes:
MockTimeProvider
,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 java.util.function.Supplier<java.time.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
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
TimeProvider.DefaultTimeProvider
-
Field Summary
Fields Modifier and Type Field Description static java.util.concurrent.atomic.AtomicReference<TimeProvider>
__INSTANCE
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description java.time.Instant
currentInstant()
Returns the current time.default java.time.LocalDateTime
currentLocalDateTime()
Returns the current time.default java.time.ZonedDateTime
currentZonedDateTime()
Returns the current time.default java.time.Instant
get()
Returns the current time.static TimeProvider
getInstance()
Returns the default instance.
-
-
-
Field Detail
-
__INSTANCE
static final java.util.concurrent.atomic.AtomicReference<TimeProvider> __INSTANCE
-
-
Method Detail
-
currentInstant
@Nonnull java.time.Instant currentInstant()
Returns the current time.- Returns:
- the current time as an
Instant
- Since:
- 3.2-ALPHA-2
-
get
@Nonnull default java.time.Instant get()
Returns the current time. This method is provided to implementSupplier
<Instant>
.- Specified by:
get
in interfacejava.util.function.Supplier<java.time.Instant>
- Returns:
- the current time as an
Instant
- Since:
- 3.2-ALPHA-2
-
currentZonedDateTime
@Nonnull default java.time.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 java.time.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
-
-