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
      • register

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

        <T> T registerPrimary​(T bean)
        Register the bean as a Primary bean.
      • registerSecondary

        <T> T registerSecondary​(T bean)
        Register the bean as a secondary bean.
      • 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
      • 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.
      • getProvider

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

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

        <T> javax.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
      • get

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

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

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

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

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