@GwtCompatible public final class Suppliers extends Object
All methods return serializable suppliers as long as they're given serializable parameters.
| Modifier and Type | Method and Description | 
|---|---|
static <F,T> Supplier<T> | 
compose(Function<? super F,T> function,
       Supplier<F> supplier)
Returns a new supplier which is the composition of the provided function and supplier. 
 | 
static <T> Supplier<T> | 
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 <T> Supplier<T> | 
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 <T> Supplier<T> | 
ofInstance(T instance)
Returns a supplier that always supplies  
instance. | 
static <T> Function<Supplier<T>,T> | 
supplierFunction()
Returns a function that accepts a supplier and returns the result of invoking  
Supplier.get() on that supplier. | 
static <T> Supplier<T> | 
synchronizedSupplier(Supplier<T> delegate)
Returns a supplier whose  
get() method synchronizes on delegate before calling
 it, making it thread-safe. | 
public static <F,T> Supplier<T> compose(Function<? super F,T> function, Supplier<F> supplier)
supplier,
 and then applying function to that value. Note that the resulting supplier will not
 call supplier 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 delegate's get() method will be invoked at
 most once unless the underlying get() throws an exception. The supplier's serialized
 form does not contain the cached value, which will be recalculated when get() is called
 on the reserialized instance.
 
When the underlying delegate throws an exception then this memoizing supplier will keep delegating calls until it returns valid data.
If delegate is an instance created by an earlier call to memoize, it is
 returned directly.
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. The actual memoization does not happen when the underlying delegate throws an
 exception.
 
When the underlying delegate throws an exception then this memoizing supplier will keep delegating calls until it returns valid data.
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 inIllegalArgumentException - if duration is not positivepublic static <T> Supplier<T> ofInstance(@NullableDecl T instance)
instance.public static <T> Supplier<T> synchronizedSupplier(Supplier<T> delegate)
get() method synchronizes on delegate before calling
 it, making it thread-safe.public static <T> Function<Supplier<T>,T> supplierFunction()
Supplier.get() on that supplier.
 Java 8 users: use the method reference Supplier::get instead.
Copyright © 2010–2019. All rights reserved.