public interface Builder
Mutable builder object used when building a bean scope.
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addAutoClosable
(Object maybeAutoCloseable) Check if the instance is AutoCloseable and if so register it with PreDestroy.void
addInjector
(Consumer<Builder> injector) Add field and method injection.void
addPostConstruct
(Runnable runnable) Add lifecycle PostConstruct method.void
addPostConstruct
(Consumer<BeanScope> consumer) Add lifecycle PostConstruct method.void
addPreDestroy
(AutoCloseable closeable) Add lifecycle PreDestroy method.void
addPreDestroy
(AutoCloseable closeable, int priority) Add lifecycle PreDestroy method with a given priority.Register the next bean as having Primary priority.Register the next bean as having Prototype scope.Register the next bean as having Secondary priority.build
(boolean withShutdownHook, long start) Build and return the bean scope.boolean
Return true if the builder contains the given type.boolean
Return true if the builder contains the given type.boolean
containsAllProfiles
(List<String> type) Return true if the builder contains all of the given profileboolean
containsProfiles
(List<String> type) Return true if the builder contains the given profileboolean
containsQualifier
(String name) Return true if the builder contains a bean with the given name.<T> T
Get a dependency.<T> T
Get a named dependency.<T> T
Get a dependency for the generic type.<T> T
Get a named dependency for the generic type.<T> T
getNullable
(Class<T> cls) Get an optional dependency potentially returning null.<T> T
getNullable
(Class<T> cls, String name) Get an optional named dependency potentially returning null.<T> T
getNullable
(Type cls) Get an optional dependency potentially returning null for the generic type.<T> T
getNullable
(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.boolean
isAddBeanFor
(Type... types) Return true if the bean should be created and registered with the context.boolean
isAddBeanFor
(String name, Type... types) Return true if the bean should be created and registered with the context.<T> List
<T> Get a list of dependencies for the type.<T> List
<T> Get a list of dependencies for the generic type.Return a map of dependencies for the type keyed by qualifier name.Return a map of dependencies for the generic type keyed by qualifier name.static Builder
newBuilder
(Set<String> profiles, PropertyRequiresPlugin plugin, List<SuppliedBean> suppliedBeans, List<EnrichBean> enrichBeans, BeanScope parent, boolean parentOverride) Create the root level Builder.property()
Return the plugin for required properties.<T> T
register
(T bean) Register the bean instance into the context.<T> void
registerProvider
(jakarta.inject.Provider<T> provider) Register the provider into the context.<T> Set
<T> Get a set of dependencies for the type.<T> Set
<T> Get a set of dependencies for the generic type.<T> void
Register the externally provided bean.
-
Method Details
-
newBuilder
static Builder newBuilder(Set<String> profiles, PropertyRequiresPlugin plugin, List<SuppliedBean> suppliedBeans, List<EnrichBean> enrichBeans, BeanScope parent, boolean parentOverride) Create the root level Builder.- Parameters:
profiles
- Explicit profiles usedsuppliedBeans
- 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
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
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
Register the next bean as having Primary priority. Highest priority, will be used over any other matching beans. -
asSecondary
Register the next bean as having Secondary priority. Lowest priority, only used if no other matching beans are available. -
asPrototype
Register the next bean as having Prototype scope. -
registerProvider
Register the provider into the context. -
register
Register the bean instance into the context.- Parameters:
bean
- The bean instance that has been created.
-
withBean
Register the externally provided bean.- Parameters:
type
- The type of the provided bean.bean
- The bean instance
-
addPostConstruct
Add lifecycle PostConstruct method. -
addPostConstruct
Add lifecycle PostConstruct method. -
addPreDestroy
Add lifecycle PreDestroy method. -
addPreDestroy
Add lifecycle PreDestroy method with a given priority. -
addAutoClosable
Check if the instance is AutoCloseable and if so register it with PreDestroy.- Parameters:
maybeAutoCloseable
- An instance that might be AutoCloseable
-
addInjector
Add field and method injection. -
get
Get a dependency. -
get
Get a named dependency. -
get
Get a dependency for the generic type. -
get
Get a named dependency for the generic type. -
getOptional
Get an optional dependency. -
getOptional
Get an optional named dependency. -
getOptional
Get an optional dependency for the generic type. -
getOptional
Get an optional named dependency for the generic type. -
getNullable
Get an optional dependency potentially returning null. -
getNullable
Get an optional named dependency potentially returning null. -
getNullable
Get an optional dependency potentially returning null for the generic type. -
getNullable
Get an optional named dependency potentially returning null for the generic type. -
getProvider
Return Provider of T given the type. -
getProvider
Return Provider of T given the type and name. -
getProvider
Return Provider of T given the generic type. -
getProvider
Return Provider of T given the generic type and name. -
getProviderFor
Return Provider for a generic interface type.- Parameters:
cls
- The usual implementation classtype
- The generic interface type
-
list
Get a list of dependencies for the type. -
list
Get a list of dependencies for the generic type. -
set
Get a set of dependencies for the type. -
set
Get a set of dependencies for the generic type. -
map
Return a map of dependencies for the type keyed by qualifier name. -
map
Return a map of dependencies for the generic type keyed by qualifier name. -
contains
Return true if the builder contains the given type. -
contains
Return true if the builder contains the given type. -
containsQualifier
Return true if the builder contains a bean with the given name. -
containsProfiles
Return true if the builder contains the given profile -
containsAllProfiles
Return true if the builder contains all of the given profile -
property
Return the plugin for required properties. -
build
Build and return the bean scope.
-