Interface Builder


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

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

      <T> void registerProvider(javax.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.
    • 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
    • addPostConstruct

      void addPostConstruct(Runnable runnable)
      Add lifecycle PostConstruct method.
    • addPreDestroy

      void addPreDestroy(AutoCloseable closeable)
      Add lifecycle PreDestroy method.
    • addInjector

      void addInjector(Consumer<Builder> injector)
      Add field and method injection.
    • getOptional

      <T> Optional<T> getOptional(Type cls)
      Get an optional dependency.
    • getOptional

      <T> Optional<T> getOptional(Type cls, String name)
      Get an optional named dependency.
    • getNullable

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

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

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

      <T> javax.inject.Provider<T> getProvider(Type 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(Type cls)
      Get a dependency.
    • get

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

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

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

      <T> Map<String,T> map(Type interfaceType)
      Return a map of dependencies keyed by qualifier name.
    • build

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