Class Values
- java.lang.Object
-
- org.glassfish.tyrus.core.collection.Values
-
public final class Values extends java.lang.ObjectA collection ofValue providerfactory & utility methods.- Author:
- Marek Potociar
-
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static <T> Value<T>eager(Value<T> delegate)Get a new eagerly initializedvalue provider.static <T> Value<T>empty()static <T> LazyValue<T>lazy(Value<T> delegate)Get a new lazily initializedvalue provider.static <T> Value<T>of(T value)Get a new constantvalue providerwhoseget()method always returns the instance supplied to thevalueparameter.
-
-
-
Method Detail
-
empty
public static <T> Value<T> empty()
- Type Parameters:
T- value type.- Returns:
- empty value provider.
-
of
public static <T> Value<T> of(T value)
Get a new constant
value providerwhoseget()method always returns the instance supplied to thevalueparameter.In case the supplied value constant is
null, anemptyvalue provider is returned.- Type Parameters:
T- value type.- Parameters:
value- value instance to be provided.- Returns:
- constant value provider.
-
lazy
public static <T> LazyValue<T> lazy(Value<T> delegate)
Get a new lazily initializedvalue provider.The value returned by its
get()method is lazily retrieved during a first call to the method from the supplieddelegatevalue 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 supplieddelegatevalue provider instance at most once.If the supplied value provider is
null, anemptyvalue provider is returned.- Type Parameters:
T- value type.- Parameters:
delegate- value provider delegate that will be used to lazily initialize the value provider.- Returns:
- lazily initialized value provider.
-
eager
public static <T> Value<T> eager(Value<T> delegate)
Get a new eagerly initializedvalue provider.The value returned by its
get()method is eagerly computed from the supplieddelegatevalue 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 supplieddelegatevalue provider instance once and only once.If the supplied value provider is
null, anemptyvalue provider is returned.- Type Parameters:
T- value type.- Parameters:
delegate- value provider delegate that will be used to eagerly initialize the value provider.- Returns:
- eagerly initialized, constant value provider.
-
-