public final class Values extends Object
Value provider
factory & utility methods.Modifier and Type | Method and Description |
---|---|
static <T> Value<T> |
eager(Value<T> delegate)
Get a new eagerly initialized
value provider . |
static <T> Value<T> |
empty()
|
static <T,E extends Throwable> |
emptyUnsafe()
|
static <T,E extends Throwable> |
lazy(UnsafeValue<T,E> delegate)
Get a new lazily initialized
unsafe value provider . |
static <T> LazyValue<T> |
lazy(Value<T> delegate)
Get a new lazily initialized
value provider . |
static <T> Value<T> |
of(T value)
Get a new constant
value provider whose get()
method always returns the instance supplied to the value parameter. |
static <T,E extends Throwable> |
throwing(E throwable)
Get a new "throwing"
unsafe value provider whose get()
method always throws the exception supplied to the throwable parameter. |
static <T,E extends Throwable> |
unsafe(T value)
Get a new constant
value provider whose get()
method always returns the instance supplied to the value parameter. |
public static <T> Value<T> empty()
T
- value type.public static <T,E extends Throwable> UnsafeValue<T,E> emptyUnsafe()
T
- value type.public static <T> Value<T> of(T value)
value provider
whose get()
method always returns the instance supplied to the value
parameter.
In case the supplied value constant is null
, an empty
value
provider is returned.T
- value type.value
- value instance to be provided.public static <T,E extends Throwable> UnsafeValue<T,E> unsafe(T value)
value provider
whose get()
method always returns the instance supplied to the value
parameter.
In case the supplied value constant is null
, an empty
value
provider is returned.T
- value type.value
- value instance to be provided.public static <T,E extends Throwable> UnsafeValue<T,E> throwing(E throwable)
unsafe value provider
whose get()
method always throws the exception supplied to the throwable
parameter.
In case the supplied throwable is null
, an NullPointerException
is thrown.T
- value type.E
- exception type.throwable
- throwable instance to be thrown.NullPointerException
- in case the supplied throwable instance is null
.public static <T> LazyValue<T> lazy(Value<T> delegate)
value provider
.
The value returned by its get()
method is lazily retrieved during a first
call to the method from the supplied delegate
value provider and is then cached for
a subsequent retrieval.
The implementation of the returned lazy value provider is thread-safe and is guaranteed to
invoke the get()
method on the supplied delegate
value provider instance at
most once.
If the supplied value provider is null
, an empty
value
provider is returned.
T
- value type.delegate
- value provider delegate that will be used to lazily initialize the value provider.public static <T> Value<T> eager(Value<T> delegate)
value provider
.
The value returned by its get()
method is eagerly computed from the supplied
delegate
value provider and is then stored in a final field for a subsequent retrieval.
The implementation of the returned eager value provider is thread-safe and is guaranteed to
invoke the get()
method on the supplied delegate
value provider instance once
and only once.
If the supplied value provider is null
, an empty
value
provider is returned.
T
- value type.delegate
- value provider delegate that will be used to eagerly initialize the value provider.public static <T,E extends Throwable> LazyUnsafeValue<T,E> lazy(UnsafeValue<T,E> delegate)
unsafe value provider
.
The value returned by its get()
method is lazily retrieved during a first
call to the method from the supplied delegate
value provider and is then cached for
a subsequent retrieval.
In case the call to underlying delegate.get()
throws a throwable, the throwable is cached
and thrown on all subsequent retrievals.
The implementation of the returned lazy value provider is thread-safe and is guaranteed to
invoke the get()
method on the supplied delegate
value provider instance at
most once.
If the supplied value provider is null
, an empty
value
provider is returned.
T
- value type.delegate
- value provider delegate that will be used to lazily initialize the value provider.Copyright © 2007-2024, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.