public interface BeanLocator
Core interface for locating and discovering Bean instances.
| Modifier and Type | Method and Description | 
|---|---|
default <T> java.util.Optional<T> | 
findBean(java.lang.Class<T> beanType)
Finds a Bean for the given type. 
 | 
<T> java.util.Optional<T> | 
findBean(java.lang.Class<T> beanType,
        Qualifier<T> qualifier)
Finds a Bean for the given type and qualifier. 
 | 
default <T> java.util.Optional<T> | 
findOrInstantiateBean(java.lang.Class<T> beanType)
Finds a Bean for the given type or attempts to instantiate the given instance. 
 | 
<T> T | 
getBean(BeanDefinition<T> definition)
Obtains a Bean for the given bean definition. 
 | 
default <T> T | 
getBean(java.lang.Class<T> beanType)
Obtains a Bean for the given type. 
 | 
<T> T | 
getBean(java.lang.Class<T> beanType,
       Qualifier<T> qualifier)
Obtains a Bean for the given type and qualifier. 
 | 
<T> java.util.Collection<T> | 
getBeansOfType(java.lang.Class<T> beanType)
Get all beans of the given type. 
 | 
<T> java.util.Collection<T> | 
getBeansOfType(java.lang.Class<T> beanType,
              Qualifier<T> qualifier)
Get all beans of the given type. 
 | 
<T> T | 
getProxyTargetBean(java.lang.Class<T> beanType,
                  Qualifier<T> qualifier)
Resolves the proxy target for a given bean type. 
 | 
default <T> java.util.stream.Stream<T> | 
streamOfType(java.lang.Class<T> beanType)
Obtain a stream of beans of the given type. 
 | 
<T> java.util.stream.Stream<T> | 
streamOfType(java.lang.Class<T> beanType,
            Qualifier<T> qualifier)
Obtain a stream of beans of the given type. 
 | 
@NonNull
<T> T getBean(@NonNull
                       BeanDefinition<T> definition)
T - The bean type parameterdefinition - The bean typeNonUniqueBeanException - When multiple possible bean definitions exist
                                                                for the given typeQualifiers@NonNull
<T> T getBean(@NonNull
                       java.lang.Class<T> beanType,
                       @Nullable
                       Qualifier<T> qualifier)
T - The bean type parameterbeanType - The bean typequalifier - The qualifierNonUniqueBeanException - When multiple possible bean definitions exist
                                                                for the given typeQualifiers@NonNull
<T> java.util.Optional<T> findBean(@NonNull
                                            java.lang.Class<T> beanType,
                                            @Nullable
                                            Qualifier<T> qualifier)
T - The bean type parameterbeanType - The bean typequalifier - The qualifierOptional that is either empty or containing the specified beanNonUniqueBeanException - When multiple possible bean definitions exist
                                                                for the given typeQualifiers@NonNull
<T> java.util.Collection<T> getBeansOfType(@NonNull
                                                    java.lang.Class<T> beanType)
T - The bean type parameterbeanType - The bean type@NonNull
<T> java.util.Collection<T> getBeansOfType(@NonNull
                                                    java.lang.Class<T> beanType,
                                                    @Nullable
                                                    Qualifier<T> qualifier)
T - The bean type parameterbeanType - The bean typequalifier - The qualifier@NonNull
<T> java.util.stream.Stream<T> streamOfType(@NonNull
                                                     java.lang.Class<T> beanType,
                                                     @Nullable
                                                     Qualifier<T> qualifier)
T - The bean concrete typebeanType - The bean typequalifier - The qualifierQualifiers@NonNull
<T> T getProxyTargetBean(@NonNull
                                  java.lang.Class<T> beanType,
                                  @Nullable
                                  Qualifier<T> qualifier)
T - The generic typebeanType - The bean typequalifier - The bean qualifier@NonNull
default <T> java.util.stream.Stream<T> streamOfType(@NonNull
                                                             java.lang.Class<T> beanType)
T - The bean concrete typebeanType - The bean type@NonNull
default <T> T getBean(@NonNull
                               java.lang.Class<T> beanType)
T - The bean type parameterbeanType - The bean typeNonUniqueBeanException - When multiple possible bean definitions exist
                                                                for the given typeNoSuchBeanException - If the bean doesn't exist@NonNull
default <T> java.util.Optional<T> findBean(@NonNull
                                                    java.lang.Class<T> beanType)
T - The bean type parameterbeanType - The bean typeOptional that is either empty or containing the specified beanNonUniqueBeanException - When multiple possible bean definitions exist
                                                                for the given type@NonNull
default <T> java.util.Optional<T> findOrInstantiateBean(@NonNull
                                                                 java.lang.Class<T> beanType)
T - The bean type parameterbeanType - The bean typeOptional that is either empty or containing the specified bean if it could not
 be found or instantiatedNonUniqueBeanException - When multiple possible bean definitions exist
                                                                for the given type