-
public interface Builder
Mutable builder object used when building a bean scope.
-
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description voidaddInjector(Consumer<Builder> injector)Add field and method injection.voidaddPostConstruct(Runnable runnable)Add lifecycle PostConstruct method.voidaddPreDestroy(AutoCloseable closeable)Add lifecycle PreDestroy method.BuilderasPrimary()Register the next bean as having Primary priority.BuilderasPrototype()Register the next bean as having Prototype scope.BuilderasSecondary()Register the next bean as having Secondary priority.BeanScopebuild(boolean withShutdownHook)Build and return the bean scope.<T> Tget(Class<T> cls)Get a dependency.<T> Tget(Class<T> cls, String name)Get a named dependency.<T> Tget(Type cls)Get a dependency for the generic type.<T> Tget(Type cls, String name)Get a named dependency for the generic type.<T> TgetNullable(Class<T> cls)Get an optional dependency potentially returning null.<T> TgetNullable(Class<T> cls, String name)Get an optional named dependency potentially returning null.<T> TgetNullable(Type cls)Get an optional dependency potentially returning null for the generic type.<T> TgetNullable(Type cls, String name)Get an optional named dependency potentially returning null for the generic type.<T> Optional<T>getOptional(Class<T> cls)Get an optional dependency.<T> Optional<T>getOptional(Class<T> cls, String name)Get an optional named dependency.<T> Optional<T>getOptional(Type cls)Get an optional dependency for the generic type.<T> Optional<T>getOptional(Type cls, String name)Get an optional named dependency for the generic type.<T> jakarta.inject.Provider<T>getProvider(Class<T> cls)Return Provider of T given the type.<T> jakarta.inject.Provider<T>getProvider(Class<T> cls, String name)Return Provider of T given the type and name.<T> jakarta.inject.Provider<T>getProvider(Type cls)Return Provider of T given the generic type.<T> jakarta.inject.Provider<T>getProvider(Type cls, String name)Return Provider of T given the generic type and name.<T> jakarta.inject.Provider<T>getProviderFor(Class<?> cls, Type type)Return Provider for a generic interface type.booleanisAddBeanFor(Type... types)Return true if the bean should be created and registered with the context.booleanisAddBeanFor(String name, Type... types)Return true if the bean should be created and registered with the context.<T> List<T>list(Class<T> type)Get a list of dependencies for the type.<T> List<T>list(Type type)Get a list of dependencies for the generic type.<T> Map<String,T>map(Class<T> type)Return a map of dependencies for the type keyed by qualifier name.<T> Map<String,T>map(Type type)Return a map of dependencies for the generic type keyed by qualifier name.static BuildernewBuilder(List<SuppliedBean> suppliedBeans, List<EnrichBean> enrichBeans, BeanScope parent, boolean parentOverride)Create the root level Builder.<T> Tregister(T bean)Register the bean instance into the context.<T> voidregisterProvider(jakarta.inject.Provider<T> provider)Register the provider into the context.<T> Set<T>set(Class<T> type)Get a set of dependencies for the type.<T> Set<T>set(Type type)Get a set of dependencies for the generic type.<T> voidwithBean(Class<T> type, T bean)Register the externally provided bean.
-
-
-
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 enhancementparent- The parent BeanScopeparentOverride- 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 nametypes- 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.
-
asPrototype
Builder asPrototype()
Register the next bean as having Prototype scope.
-
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
-
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(Class<T> cls)
Get an optional dependency.
-
getOptional
<T> Optional<T> getOptional(Class<T> cls, String name)
Get an optional named dependency.
-
getOptional
<T> Optional<T> getOptional(Type cls)
Get an optional dependency for the generic type.
-
getOptional
<T> Optional<T> getOptional(Type cls, String name)
Get an optional 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 classtype- The generic interface 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.
-
-