Interface BeanLocator

    • 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 type
        qualifier - 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 type
        qualifier - 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 type
        qualifier - 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 type
        qualifier - 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 type
        qualifier - 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 type
        qualifier - 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 type
        qualifier - 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 type
        qualifier - 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 type
        qualifier - 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 type
        qualifier - 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 type
        NoSuchBeanException - 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