public class Lazy<T> extends Object implements Supplier<T>
Supplier
returning the produced object for
subsequent lookups. Note, that no concurrency control is applied during the lookup of get()
, which means in
concurrent access scenarios, the provided Supplier
can be called multiple times.Modifier and Type | Method and Description |
---|---|
protected boolean |
canEqual(Object other) |
static <T> Lazy<T> |
empty()
Creates a pre-resolved empty
Lazy . |
boolean |
equals(Object o) |
<S> Lazy<S> |
flatMap(Function<? super T,Lazy<? extends S>> function)
|
T |
get()
Returns the value created by the configured
Supplier . |
T |
getNullable()
Returns the value of the lazy evaluation.
|
Optional<T> |
getOptional()
|
int |
hashCode() |
<S> Lazy<S> |
map(Function<? super T,? extends S> function)
|
static <T> Lazy<T> |
of(Supplier<? extends T> supplier)
Creates a new
Lazy to produce an object lazily. |
static <T> Lazy<T> |
of(T value)
Creates a new
Lazy to return the given value. |
Lazy<T> |
or(Supplier<? extends T> supplier)
Returns a new Lazy that will consume the given supplier in case the current one does not yield in a result.
|
Lazy<T> |
or(T value)
Returns a new Lazy that will return the given value in case the current one does not yield in a result.
|
T |
orElse(T value)
Returns the value of the lazy computation or the given default value in case the computation yields
null.
|
public static <T> Lazy<T> of(Supplier<? extends T> supplier)
Lazy
to produce an object lazily.T
- the type of which to produce an object of eventually.supplier
- the Supplier
to create the object lazily.public static <T> Lazy<T> of(T value)
Lazy
to return the given value.T
- the type of the value to return eventually.value
- the value to return.public T get()
Supplier
. Will return the calculated instance for subsequent
lookups.public Optional<T> getOptional()
Optional
value created by the configured Supplier
, allowing the absence of values in
contrast to get()
. Will return the calculated instance for subsequent lookups.public Lazy<T> or(Supplier<? extends T> supplier)
supplier
- must not be null.public Lazy<T> or(T value)
supplier
- must not be null.@Nullable public T orElse(@Nullable T value)
value
- public <S> Lazy<S> map(Function<? super T,? extends S> function)
function
- must not be null.public <S> Lazy<S> flatMap(Function<? super T,Lazy<? extends S>> function)
function
- must not be null.@Nullable public T getNullable()
protected boolean canEqual(Object other)
Copyright © 2011–2019 Pivotal Software, Inc.. All rights reserved.