|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.google.common.base.Suppliers
public final class Suppliers
Useful suppliers.
All methods return serializable suppliers as long as they're given serializable parameters.
Method Summary | ||
---|---|---|
static
|
compose(Function<? super F,T> function,
Supplier<F> first)
Returns a new supplier which is the composition of the provided function and supplier. |
|
static
|
memoize(Supplier<T> delegate)
Returns a supplier which caches the instance retrieved during the first call to get() and returns that value on subsequent calls to
get() . |
|
static
|
memoizeWithExpiration(Supplier<T> delegate,
long duration,
TimeUnit unit)
Returns a supplier that caches the instance supplied by the delegate and removes the cached value after the specified time has passed. |
|
static
|
ofInstance(T instance)
Returns a supplier that always supplies instance . |
|
static
|
synchronizedSupplier(Supplier<T> delegate)
Returns a supplier whose get() method synchronizes on
delegate before calling it, making it thread-safe. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public static <F,T> Supplier<T> compose(Function<? super F,T> function, Supplier<F> first)
first
, and then applying
function
to that value. Note that the resulting supplier will not
call first
or invoke function
until it is called.
public static <T> Supplier<T> memoize(Supplier<T> delegate)
get()
and returns that value on subsequent calls to
get()
. See:
memoization
The returned supplier is thread-safe. The supplier's serialized form
does not contain the cached value, which will be recalculated when get()
is called on the reserialized instance.
public static <T> Supplier<T> memoizeWithExpiration(Supplier<T> delegate, long duration, TimeUnit unit)
get()
return the cached value if the expiration time has
not passed. After the expiration time, a new value is retrieved, cached,
and returned. See:
memoization
The returned supplier is thread-safe. The supplier's serialized form
does not contain the cached value, which will be recalculated when get()
is called on the reserialized instance.
duration
- the length of time after a value is created that it
should stop being returned by subsequent get()
callsunit
- the unit that duration
is expressed in
IllegalArgumentException
- if duration
is not positivepublic static <T> Supplier<T> ofInstance(@Nullable T instance)
instance
.
public static <T> Supplier<T> synchronizedSupplier(Supplier<T> delegate)
get()
method synchronizes on
delegate
before calling it, making it thread-safe.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |