Interface Builder


  • public interface Builder
    Mutable builder object used when building a bean scope.
    • Method Detail

      • newBuilder

        static Builder newBuilder​(List<SuppliedBean> suppliedBeans,
                                  List<EnrichBean> enrichBeans,
                                  BeanScope parent,
                                  boolean parentOverride)
        Create the root level Builder.
        Parameters:
        suppliedBeans - The list of beans (typically test doubles) supplied when building the context.
        enrichBeans - The list of classes we want to have with mockito spy enhancement
        parent - The parent BeanScope
        parentOverride - When false do not add beans that already exist on the parent
      • isAddBeanFor

        boolean isAddBeanFor​(String name,
                             Type... types)
        Return true if the bean should be created and registered with the context.

        Returning false means there has been a supplied bean already registered and that we should skip the creation and registration for this bean.

        Parameters:
        name - The qualifier name
        types - The types that the bean implements and provides
      • isAddBeanFor

        boolean isAddBeanFor​(Type... types)
        Return true if the bean should be created and registered with the context.

        Returning false means there has been a supplied bean already registered and that we should skip the creation and registration for this bean.

        Parameters:
        types - The types that the bean implements and provides
      • asPrimary

        Builder asPrimary()
        Register the next bean as having Primary priority. Highest priority, will be used over any other matching beans.
      • asSecondary

        Builder asSecondary()
        Register the next bean as having Secondary priority. Lowest priority, only used if no other matching beans are available.
      • registerProvider

        <T> void registerProvider​(jakarta.inject.Provider<T> provider)
        Register the provider into the context.
      • register

        <T> T register​(T bean)
        Register the bean instance into the context.
        Parameters:
        bean - The bean instance that has been created.
      • withBean

        <T> void withBean​(Class<T> type,
                          T bean)
        Register the externally provided bean.
        Parameters:
        type - The type of the provided bean.
        bean - The bean instance
      • get

        <T> T get​(Class<T> cls)
        Get a dependency.
      • get

        <T> T get​(Class<T> cls,
                  String name)
        Get a named dependency.
      • get

        <T> T get​(Type cls)
        Get a dependency for the generic type.
      • get

        <T> T get​(Type cls,
                  String name)
        Get a named dependency for the generic type.
      • getNullable

        <T> T getNullable​(Class<T> cls)
        Get an optional dependency potentially returning null.
      • getNullable

        <T> T getNullable​(Class<T> cls,
                          String name)
        Get an optional named dependency potentially returning null.
      • getNullable

        <T> T getNullable​(Type cls)
        Get an optional dependency potentially returning null for the generic type.
      • getNullable

        <T> T getNullable​(Type cls,
                          String name)
        Get an optional named dependency potentially returning null for the generic type.
      • getProvider

        <T> jakarta.inject.Provider<T> getProvider​(Class<T> cls)
        Return Provider of T given the type.
      • getProvider

        <T> jakarta.inject.Provider<T> getProvider​(Class<T> cls,
                                                   String name)
        Return Provider of T given the type and name.
      • getProvider

        <T> jakarta.inject.Provider<T> getProvider​(Type cls)
        Return Provider of T given the generic type.
      • getProvider

        <T> jakarta.inject.Provider<T> getProvider​(Type cls,
                                                   String name)
        Return Provider of T given the generic type and name.
      • getProviderFor

        <T> jakarta.inject.Provider<T> getProviderFor​(Class<?> cls,
                                                      Type type)
        Return Provider for a generic interface type.
        Parameters:
        cls - The usual implementation class
        type - The generic interface type
      • list

        <T> List<T> list​(Class<T> type)
        Get a list of dependencies for the type.
      • list

        <T> List<T> list​(Type type)
        Get a list of dependencies for the generic type.
      • set

        <T> Set<T> set​(Class<T> type)
        Get a set of dependencies for the type.
      • set

        <T> Set<T> set​(Type type)
        Get a set of dependencies for the generic type.
      • map

        <T> Map<String,​T> map​(Class<T> type)
        Return a map of dependencies for the type keyed by qualifier name.
      • map

        <T> Map<String,​T> map​(Type type)
        Return a map of dependencies for the generic type keyed by qualifier name.
      • build

        BeanScope build​(boolean withShutdownHook)
        Build and return the bean scope.