private class DefaultListableBeanFactory.DependencyObjectProvider extends java.lang.Object implements DefaultListableBeanFactory.BeanObjectProvider<java.lang.Object>
Modifier and Type | Field and Description |
---|---|
private java.lang.String |
beanName |
private DependencyDescriptor |
descriptor |
private boolean |
optional |
Constructor and Description |
---|
DependencyObjectProvider(DependencyDescriptor descriptor,
java.lang.String beanName) |
Modifier and Type | Method and Description |
---|---|
java.lang.Object |
getIfAvailable()
Return an instance (possibly shared or independent) of the object
managed by this factory.
|
java.lang.Object |
getIfUnique()
Return an instance (possibly shared or independent) of the object
managed by this factory.
|
java.lang.Object |
getObject()
Return an instance (possibly shared or independent)
of the object managed by this factory.
|
java.lang.Object |
getObject(java.lang.Object... args)
Return an instance (possibly shared or independent) of the object
managed by this factory.
|
protected java.lang.Object |
getValue() |
java.util.stream.Stream<java.lang.Object> |
orderedStream()
Return a sequential
Stream over all matching object instances,
pre-ordered according to the factory's common order comparator. |
private java.util.stream.Stream<java.lang.Object> |
resolveStream(boolean ordered) |
java.util.stream.Stream<java.lang.Object> |
stream()
Return a sequential
Stream over all matching object instances,
without specific ordering guarantees (but typically in registration order). |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getIfAvailable, getIfUnique, ifAvailable, ifUnique, iterator
private final DependencyDescriptor descriptor
private final boolean optional
@Nullable private final java.lang.String beanName
public DependencyObjectProvider(DependencyDescriptor descriptor, @Nullable java.lang.String beanName)
public java.lang.Object getObject() throws BeansException
ObjectFactory
getObject
in interface ObjectFactory<java.lang.Object>
BeansException
- in case of creation errorspublic java.lang.Object getObject(java.lang.Object... args) throws BeansException
ObjectProvider
Allows for specifying explicit construction arguments, along the
lines of BeanFactory.getBean(String, Object...)
.
getObject
in interface ObjectProvider<java.lang.Object>
args
- arguments to use when creating a corresponding instanceBeansException
- in case of creation errorsObjectFactory.getObject()
@Nullable public java.lang.Object getIfAvailable() throws BeansException
ObjectProvider
getIfAvailable
in interface ObjectProvider<java.lang.Object>
null
if not availableBeansException
- in case of creation errorsObjectFactory.getObject()
@Nullable public java.lang.Object getIfUnique() throws BeansException
ObjectProvider
getIfUnique
in interface ObjectProvider<java.lang.Object>
null
if not available or
not unique (i.e. multiple candidates found with none marked as primary)BeansException
- in case of creation errorsObjectFactory.getObject()
@Nullable protected java.lang.Object getValue() throws BeansException
BeansException
public java.util.stream.Stream<java.lang.Object> stream()
ObjectProvider
Stream
over all matching object instances,
without specific ordering guarantees (but typically in registration order).stream
in interface ObjectProvider<java.lang.Object>
ObjectProvider.iterator()
,
ObjectProvider.orderedStream()
public java.util.stream.Stream<java.lang.Object> orderedStream()
ObjectProvider
Stream
over all matching object instances,
pre-ordered according to the factory's common order comparator.
In a standard Spring application context, this will be ordered
according to Ordered
conventions,
and in case of annotation-based configuration also considering the
Order
annotation,
analogous to multi-element injection points of list/array type.
orderedStream
in interface ObjectProvider<java.lang.Object>
ObjectProvider.stream()
,
OrderComparator
private java.util.stream.Stream<java.lang.Object> resolveStream(boolean ordered)