Class SingletonSupplier<T>
java.lang.Object
org.springframework.util.function.SingletonSupplier<T>
- Type Parameters:
- T- the type of results supplied by this supplier
- All Implemented Interfaces:
- Supplier<T>
A 
Supplier decorator that caches a singleton result and
 makes it available from get() (nullable) and obtain() (null-safe).
 A SingletonSupplier can be constructed via of factory methods
 or via constructors that provide a default supplier as a fallback. This is
 particularly useful for method reference suppliers, falling back to a default
 supplier for a method that returned null and caching the result.
- Since:
- 5.1
- Author:
- Juergen Hoeller, Yanming Zhou
- 
Constructor SummaryConstructorsConstructorDescriptionSingletonSupplier(Supplier<? extends T> instanceSupplier, Supplier<? extends T> defaultSupplier) Build aSingletonSupplierwith the given instance supplier and a default supplier for the case when the instance isnull.SingletonSupplier(T instance, Supplier<? extends T> defaultSupplier) Build aSingletonSupplierwith the given singleton instance and a default supplier for the case when the instance isnull.
- 
Method SummaryModifier and TypeMethodDescriptionget()Get the shared singleton instance for this supplier.obtain()Obtain the shared singleton instance for this supplier.static <T> SingletonSupplier<T>Build aSingletonSupplierwith the given supplier.static <T> SingletonSupplier<T>of(T instance) Build aSingletonSupplierwith the given singleton instance.static <T> SingletonSupplier<T>ofNullable(Supplier<T> supplier) Build aSingletonSupplierwith the given supplier.static <T> SingletonSupplier<T>ofNullable(T instance) Build aSingletonSupplierwith the given singleton instance.
- 
Constructor Details- 
SingletonSupplierBuild aSingletonSupplierwith the given singleton instance and a default supplier for the case when the instance isnull.- Parameters:
- instance- the singleton instance (potentially- null)
- defaultSupplier- the default supplier as a fallback
 
- 
SingletonSupplierpublic SingletonSupplier(@Nullable Supplier<? extends T> instanceSupplier, Supplier<? extends T> defaultSupplier) Build aSingletonSupplierwith the given instance supplier and a default supplier for the case when the instance isnull.- Parameters:
- instanceSupplier- the immediate instance supplier
- defaultSupplier- the default supplier as a fallback
 
 
- 
- 
Method Details- 
getGet the shared singleton instance for this supplier.
- 
obtainObtain the shared singleton instance for this supplier.- Returns:
- the singleton instance (never null)
- Throws:
- IllegalStateException- in case of no instance
 
- 
ofBuild aSingletonSupplierwith the given singleton instance.- Parameters:
- instance- the singleton instance (never- null)
- Returns:
- the singleton supplier (never null)
 
- 
ofNullableBuild aSingletonSupplierwith the given singleton instance.- Parameters:
- instance- the singleton instance (potentially- null)
- Returns:
- the singleton supplier, or nullif the instance wasnull
 
- 
ofBuild aSingletonSupplierwith the given supplier.- Parameters:
- supplier- the instance supplier (never- null)
- Returns:
- the singleton supplier (never null)
 
- 
ofNullableBuild aSingletonSupplierwith the given supplier.- Parameters:
- supplier- the instance supplier (potentially- null)
- Returns:
- the singleton supplier, or nullif the instance supplier wasnull
 
 
-