Package io.micronaut.context
Interface BeanLocator
-
- All Known Subinterfaces:
ApplicationContext
,BeanContext
,ConditionContext<T>
,InitializableBeanContext
- All Known Implementing Classes:
DefaultApplicationContext
,DefaultBeanContext
public interface BeanLocator
Core interface for locating and discovering
Bean
instances.- Since:
- 1.0
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description default <T> java.util.Optional<T>
findBean(io.micronaut.core.type.Argument<T> beanType)
Finds a Bean for the given type and qualifier.<T> java.util.Optional<T>
findBean(io.micronaut.core.type.Argument<T> beanType, Qualifier<T> qualifier)
Finds a Bean for the given type and qualifier.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.default <T> T
getBean(io.micronaut.core.type.Argument<T> beanType)
Obtains a Bean for the given type and qualifier.default <T> T
getBean(io.micronaut.core.type.Argument<T> beanType, Qualifier<T> qualifier)
Obtains a Bean for the given type and qualifier.<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.default <T> java.util.Collection<T>
getBeansOfType(io.micronaut.core.type.Argument<T> beanType)
Get all beans of the given type.default <T> java.util.Collection<T>
getBeansOfType(io.micronaut.core.type.Argument<T> beanType, Qualifier<T> qualifier)
Get all beans of the given type.<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.default <T> T
getProxyTargetBean(io.micronaut.core.type.Argument<T> beanType, Qualifier<T> qualifier)
Resolves the proxy target for a given bean 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(io.micronaut.core.type.Argument<T> beanType)
Obtain a stream of beans of the given type.default <T> java.util.stream.Stream<T>
streamOfType(io.micronaut.core.type.Argument<T> beanType, Qualifier<T> qualifier)
Obtain a stream of beans of the given 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.
-
-
-
Method Detail
-
getBean
@NonNull <T> T getBean(@NonNull BeanDefinition<T> definition)
Obtains a Bean for the given bean definition.- Type Parameters:
T
- The bean type parameter- Parameters:
definition
- The bean type- Returns:
- An instanceof said bean
- Throws:
NonUniqueBeanException
- When multiple possible bean definitions exist for the given type- See Also:
Qualifiers
-
getBean
@NonNull <T> T getBean(@NonNull java.lang.Class<T> beanType, @Nullable Qualifier<T> qualifier)
Obtains a Bean for the given type and qualifier.- Type Parameters:
T
- The bean type parameter- Parameters:
beanType
- The bean typequalifier
- The qualifier- Returns:
- An instanceof said bean
- Throws:
NonUniqueBeanException
- When multiple possible bean definitions exist for the given type- See Also:
Qualifiers
-
getBean
@NonNull default <T> T getBean(@NonNull io.micronaut.core.type.Argument<T> beanType, @Nullable Qualifier<T> qualifier)
Obtains a Bean for the given type and qualifier.- Type Parameters:
T
- The bean type parameter- Parameters:
beanType
- The potentially parameterized bean typequalifier
- The qualifier- Returns:
- An instanceof said bean
- Throws:
NonUniqueBeanException
- When multiple possible bean definitions exist for the given type- Since:
- 3.0.0
- See Also:
Qualifiers
-
getBean
@NonNull default <T> T getBean(@NonNull io.micronaut.core.type.Argument<T> beanType)
Obtains a Bean for the given type and qualifier.- Type Parameters:
T
- The bean type parameter- Parameters:
beanType
- The potentially parameterized bean type- Returns:
- An instanceof said bean
- Throws:
NonUniqueBeanException
- When multiple possible bean definitions exist for the given type- Since:
- 3.0.0
- See Also:
Qualifiers
-
findBean
@NonNull <T> java.util.Optional<T> findBean(@NonNull io.micronaut.core.type.Argument<T> beanType, @Nullable Qualifier<T> qualifier)
Finds a Bean for the given type and qualifier.- Type Parameters:
T
- The bean type parameter- Parameters:
beanType
- The bean typequalifier
- The qualifier- Returns:
- An instance of
Optional
that is either empty or containing the specified bean - Throws:
NonUniqueBeanException
- When multiple possible bean definitions exist for the given type- Since:
- 3.0.0
- See Also:
Qualifiers
-
findBean
@NonNull default <T> java.util.Optional<T> findBean(@NonNull io.micronaut.core.type.Argument<T> beanType)
Finds a Bean for the given type and qualifier.- Type Parameters:
T
- The bean type parameter- Parameters:
beanType
- The bean type- Returns:
- An instance of
Optional
that is either empty or containing the specified bean - Throws:
NonUniqueBeanException
- When multiple possible bean definitions exist for the given type- Since:
- 3.0.0
- See Also:
Qualifiers
-
findBean
@NonNull <T> java.util.Optional<T> findBean(@NonNull java.lang.Class<T> beanType, @Nullable Qualifier<T> qualifier)
Finds a Bean for the given type and qualifier.- Type Parameters:
T
- The bean type parameter- Parameters:
beanType
- The bean typequalifier
- The qualifier- Returns:
- An instance of
Optional
that is either empty or containing the specified bean - Throws:
NonUniqueBeanException
- When multiple possible bean definitions exist for the given type- See Also:
Qualifiers
-
getBeansOfType
@NonNull <T> java.util.Collection<T> getBeansOfType(@NonNull java.lang.Class<T> beanType)
Get all beans of the given type.- Type Parameters:
T
- The bean type parameter- Parameters:
beanType
- The bean type- Returns:
- The found beans
-
getBeansOfType
@NonNull <T> java.util.Collection<T> getBeansOfType(@NonNull java.lang.Class<T> beanType, @Nullable Qualifier<T> qualifier)
Get all beans of the given type.- Type Parameters:
T
- The bean type parameter- Parameters:
beanType
- The bean typequalifier
- The qualifier- Returns:
- The found beans
-
getBeansOfType
@NonNull default <T> java.util.Collection<T> getBeansOfType(@NonNull io.micronaut.core.type.Argument<T> beanType)
Get all beans of the given type.- Type Parameters:
T
- The bean type parameter- Parameters:
beanType
- The potenitally parameterized bean type- Returns:
- The found beans
- Since:
- 3.0.0
-
getBeansOfType
@NonNull default <T> java.util.Collection<T> getBeansOfType(@NonNull io.micronaut.core.type.Argument<T> beanType, @Nullable Qualifier<T> qualifier)
Get all beans of the given type.- Type Parameters:
T
- The bean type parameter- Parameters:
beanType
- The potenitally parameterized bean typequalifier
- The qualifier- Returns:
- The found beans
- Since:
- 3.0.0
-
streamOfType
@NonNull <T> java.util.stream.Stream<T> streamOfType(@NonNull java.lang.Class<T> beanType, @Nullable Qualifier<T> qualifier)
Obtain a stream of beans of the given type.- Type Parameters:
T
- The bean concrete type- Parameters:
beanType
- The bean typequalifier
- The qualifier- Returns:
- A stream of instances
- See Also:
Qualifiers
-
streamOfType
@NonNull default <T> java.util.stream.Stream<T> streamOfType(@NonNull io.micronaut.core.type.Argument<T> beanType, @Nullable Qualifier<T> qualifier)
Obtain a stream of beans of the given type.- Type Parameters:
T
- The bean concrete type- Parameters:
beanType
- The potentially parameterized bean typequalifier
- The qualifier- Returns:
- A stream of instances
- Since:
- 3.0.0
- See Also:
Qualifiers
-
streamOfType
@NonNull default <T> java.util.stream.Stream<T> streamOfType(@NonNull io.micronaut.core.type.Argument<T> beanType)
Obtain a stream of beans of the given type.- Type Parameters:
T
- The bean concrete type- Parameters:
beanType
- The potentially parameterized bean type- Returns:
- A stream of instances
- Since:
- 3.0.0
- See Also:
Qualifiers
-
getProxyTargetBean
@NonNull <T> T getProxyTargetBean(@NonNull java.lang.Class<T> beanType, @Nullable Qualifier<T> qualifier)
Resolves the proxy target for a given bean type. If the bean has no proxy then the original bean is returned.- Type Parameters:
T
- The generic type- Parameters:
beanType
- The bean typequalifier
- The bean qualifier- Returns:
- The proxied instance
-
getProxyTargetBean
@NonNull default <T> T getProxyTargetBean(@NonNull io.micronaut.core.type.Argument<T> beanType, @Nullable Qualifier<T> qualifier)
Resolves the proxy target for a given bean type. If the bean has no proxy then the original bean is returned.- Type Parameters:
T
- The generic type- Parameters:
beanType
- The bean typequalifier
- The bean qualifier- Returns:
- The proxied instance
- Since:
- 3.0.0
-
streamOfType
@NonNull default <T> java.util.stream.Stream<T> streamOfType(@NonNull java.lang.Class<T> beanType)
Obtain a stream of beans of the given type.- Type Parameters:
T
- The bean concrete type- Parameters:
beanType
- The bean type- Returns:
- A stream
-
getBean
@NonNull default <T> T getBean(@NonNull java.lang.Class<T> beanType)
Obtains a Bean for the given type.- Type Parameters:
T
- The bean type parameter- Parameters:
beanType
- The bean type- Returns:
- An instanceof said bean
- Throws:
NonUniqueBeanException
- When multiple possible bean definitions exist for the given typeNoSuchBeanException
- If the bean doesn't exist
-
findBean
@NonNull default <T> java.util.Optional<T> findBean(@NonNull java.lang.Class<T> beanType)
Finds a Bean for the given type.- Type Parameters:
T
- The bean type parameter- Parameters:
beanType
- The bean type- Returns:
- An instance of
Optional
that is either empty or containing the specified bean - Throws:
NonUniqueBeanException
- When multiple possible bean definitions exist for the given type
-
findOrInstantiateBean
@NonNull default <T> java.util.Optional<T> findOrInstantiateBean(@NonNull java.lang.Class<T> beanType)
Finds a Bean for the given type or attempts to instantiate the given instance.- Type Parameters:
T
- The bean type parameter- Parameters:
beanType
- The bean type- Returns:
- An instance of
Optional
that is either empty or containing the specified bean if it could not be found or instantiated - Throws:
NonUniqueBeanException
- When multiple possible bean definitions exist for the given type
-
-