Interface InstanceSupplier<T>
- Type Parameters:
T
- the type of instance supplied by this supplier
- All Superinterfaces:
Supplier<T>
,ThrowingSupplier<T>
- All Known Implementing Classes:
BeanInstanceSupplier
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
Specialized
Supplier
that can be set on a
BeanDefinition
when details about the registered bean
are needed to
supply the instance.- Since:
- 6.0
- Author:
- Phillip Webb, Stephane Nicoll
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiondefault <V> InstanceSupplier<V>
andThen
(ThrowingBiFunction<RegisteredBean, ? super T, ? extends V> after) Return a composed instance supplier that first obtains the instance from this supplier and then applies theafter
function to obtain the result.get
(RegisteredBean registeredBean) Get the supplied instance.default Method
Return the factory method that this supplier uses to create the instance, ornull
if it is not known or this supplier uses another means.default T
Gets a result, possibly throwing a checked exception.static <T> InstanceSupplier<T>
of
(InstanceSupplier<T> instanceSupplier) Lambda friendly method that can be used to create anInstanceSupplier
and add post processors in a single call.static <T> InstanceSupplier<T>
using
(Method factoryMethod, ThrowingSupplier<T> supplier) Factory method to create anInstanceSupplier
from aThrowingSupplier
.static <T> InstanceSupplier<T>
using
(ThrowingSupplier<T> supplier) Factory method to create anInstanceSupplier
from aThrowingSupplier
.Methods inherited from interface org.springframework.util.function.ThrowingSupplier
get, get, throwing
-
Method Details
-
getWithException
Description copied from interface:ThrowingSupplier
Gets a result, possibly throwing a checked exception.- Specified by:
getWithException
in interfaceThrowingSupplier<T>
- Returns:
- a result
-
get
Get the supplied instance.- Parameters:
registeredBean
- the registered bean requesting the instance- Returns:
- the supplied instance
- Throws:
Exception
- on error
-
getFactoryMethod
Return the factory method that this supplier uses to create the instance, ornull
if it is not known or this supplier uses another means.- Returns:
- the factory method used to create the instance, or
null
-
andThen
default <V> InstanceSupplier<V> andThen(ThrowingBiFunction<RegisteredBean, ? super T, ? extends V> after) Return a composed instance supplier that first obtains the instance from this supplier and then applies theafter
function to obtain the result.- Type Parameters:
V
- the type of output of theafter
function, and of the composed function- Parameters:
after
- the function to apply after the instance is obtained- Returns:
- a composed instance supplier
-
using
Factory method to create anInstanceSupplier
from aThrowingSupplier
.- Type Parameters:
T
- the type of instance supplied by this supplier- Parameters:
supplier
- the source supplier- Returns:
- a new
InstanceSupplier
-
using
Factory method to create anInstanceSupplier
from aThrowingSupplier
.- Type Parameters:
T
- the type of instance supplied by this supplier- Parameters:
factoryMethod
- the factory method being usedsupplier
- the source supplier- Returns:
- a new
InstanceSupplier
-
of
Lambda friendly method that can be used to create anInstanceSupplier
and add post processors in a single call. For example:InstanceSupplier.of(registeredBean -> ...).andThen(...)
.- Type Parameters:
T
- the type of instance supplied by this supplier- Parameters:
instanceSupplier
- the source instance supplier- Returns:
- a new
InstanceSupplier
-