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-2014, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.