Package io.quarkus.arc.impl
Class ArcContainerImpl
java.lang.Object
io.quarkus.arc.impl.ArcContainerImpl
- All Implemented Interfaces:
ArcContainer
-
Constructor Summary
ConstructorDescriptionArcContainerImpl
(CurrentContextFactory currentContextFactory, boolean strictMode) -
Method Summary
Modifier and TypeMethodDescription<T> InjectableBean<T>
<T> Supplier<InstanceHandle<T>>
beanInstanceSupplier
(Class<T> type, Annotation... qualifiers) Returns a supplier that can be used to create new instances, or null if no matching bean can be found.jakarta.enterprise.inject.spi.BeanManager
NOTE: Not all methods are supported!getActiveContext
(Class<? extends Annotation> scopeType) UnlikeBeanContainer.getContext(Class)
this method does not throwContextNotActiveException
if there is no active context for the given scope.List<InjectableBean<?>>
getBeans()
getContexts
(Class<? extends Annotation> scopeType) Set<Class<? extends Annotation>>
void
init()
static ArcContainerImpl
instance()
<T> InstanceHandle<T>
instance
(InjectableBean<T> bean) <T> InstanceHandle<T>
instance
(jakarta.enterprise.util.TypeLiteral<T> type, Annotation... qualifiers) Never returns null.<T> InstanceHandle<T>
instance
(Class<T> type, Annotation... qualifiers) Never returns null.<X> InstanceHandle<X>
instance
(Type type, Annotation... qualifiers) Never returns null.<T> InstanceHandle<T>
Never returns null.boolean
Returns true if Arc container is running.<T> List<InstanceHandle<T>>
listAll
(jakarta.enterprise.util.TypeLiteral<T> type, Annotation... qualifiers) List all beans matching the required type and qualifiers.<T> List<InstanceHandle<T>>
listAll
(Class<T> type, Annotation... qualifiers) List all beans matching the required type and qualifiers.<X> List<InstanceHandle<X>>
listAll
(Type type, Annotation... qualifiers) static void
mockObservers
(String beanIdentifier, boolean mock) void
mockObserversFor
(Class<?> beanClass, boolean mock) Note that ambiguous names are detected at build time.This method never throwsContextNotActiveException
.<T> InjectableInstance<T>
select
(jakarta.enterprise.util.TypeLiteral<T> type, Annotation... qualifiers) Instances of dependent scoped beans obtained with the returned injectable instance must be explicitly destroyed, either via theInstance.destroy(Object)
method invoked upon the same injectable instance or withInstanceHandle.destroy()
.<T> InjectableInstance<T>
select
(Class<T> type, Annotation... qualifiers) Instances of dependent scoped beans obtained with the returned injectable instance must be explicitly destroyed, either via theInstance.destroy(Object)
method invoked upon the same injectable instance or withInstanceHandle.destroy()
.void
setExecutor
(ExecutorService executor) void
shutdown()
boolean
Indicates whether container runs in strict compatibility mode.toString()
-
Constructor Details
-
ArcContainerImpl
-
-
Method Details
-
init
public void init() -
getActiveContext
Description copied from interface:ArcContainer
UnlikeBeanContainer.getContext(Class)
this method does not throwContextNotActiveException
if there is no active context for the given scope.- Specified by:
getActiveContext
in interfaceArcContainer
- Returns:
- the active context or null
-
getContexts
- Specified by:
getContexts
in interfaceArcContainer
- Returns:
- the matching context objects, never null
-
getScopes
- Specified by:
getScopes
in interfaceArcContainer
- Returns:
- the set of all supported scopes
-
instance
Description copied from interface:ArcContainer
Never returns null. However, the handle is empty if no bean matches/multiple beans match the specified type and qualifiers.- Specified by:
instance
in interfaceArcContainer
- Returns:
- a new instance handle
-
instance
public <T> InstanceHandle<T> instance(jakarta.enterprise.util.TypeLiteral<T> type, Annotation... qualifiers) Description copied from interface:ArcContainer
Never returns null. However, the handle is empty if no bean matches/multiple beans match the specified type and qualifiers.- Specified by:
instance
in interfaceArcContainer
- Returns:
- a new instance handle
-
instance
Description copied from interface:ArcContainer
Never returns null. However, the handle is empty if no bean matches/multiple beans match the specified type and qualifiers.- Specified by:
instance
in interfaceArcContainer
- Returns:
- a new instance handle
-
beanInstanceSupplier
public <T> Supplier<InstanceHandle<T>> beanInstanceSupplier(Class<T> type, Annotation... qualifiers) Description copied from interface:ArcContainer
Returns a supplier that can be used to create new instances, or null if no matching bean can be found.- Specified by:
beanInstanceSupplier
in interfaceArcContainer
- Returns:
-
instance
- Specified by:
instance
in interfaceArcContainer
- Returns:
- a new bean instance handle
-
select
Description copied from interface:ArcContainer
Instances of dependent scoped beans obtained with the returned injectable instance must be explicitly destroyed, either via theInstance.destroy(Object)
method invoked upon the same injectable instance or withInstanceHandle.destroy()
. If no qualifier is passed, the @Default qualifier is assumed.- Specified by:
select
in interfaceArcContainer
- Returns:
- a new injectable instance that could be used for programmatic lookup
-
select
public <T> InjectableInstance<T> select(jakarta.enterprise.util.TypeLiteral<T> type, Annotation... qualifiers) Description copied from interface:ArcContainer
Instances of dependent scoped beans obtained with the returned injectable instance must be explicitly destroyed, either via theInstance.destroy(Object)
method invoked upon the same injectable instance or withInstanceHandle.destroy()
. If no qualifier is passed, the @Default qualifier is assumed.- Specified by:
select
in interfaceArcContainer
- Returns:
- a new injectable instance that could be used for programmatic lookup
-
listAll
Description copied from interface:ArcContainer
List all beans matching the required type and qualifiers.Instances of dependent scoped beans should be explicitly destroyed with
InstanceHandle.destroy()
.The list is sorted by
InjectableBean.getPriority()
. Higher priority goes first.- Specified by:
listAll
in interfaceArcContainer
- Returns:
- the list of handles for the disambiguated beans
- See Also:
-
listAll
public <T> List<InstanceHandle<T>> listAll(jakarta.enterprise.util.TypeLiteral<T> type, Annotation... qualifiers) Description copied from interface:ArcContainer
List all beans matching the required type and qualifiers.Instances of dependent scoped beans should be explicitly destroyed with
InstanceHandle.destroy()
.The list of is sorted by
InjectableBean.getPriority()
. Higher priority goes first.- Specified by:
listAll
in interfaceArcContainer
- Returns:
- the list of handles for the disambiguated beans
- See Also:
-
listAll
- Specified by:
listAll
in interfaceArcContainer
- Returns:
- the list of handles for the disambiguated beans
- See Also:
-
isRunning
public boolean isRunning()Description copied from interface:ArcContainer
Returns true if Arc container is running. This can be used as a quick check to determine CDI availability in Quarkus.- Specified by:
isRunning
in interfaceArcContainer
- Returns:
- true if
ArcContainer
is running, false otherwise
-
bean
- Specified by:
bean
in interfaceArcContainer
- Returns:
- an injectable bean or null
- See Also:
-
namedBean
Description copied from interface:ArcContainer
Note that ambiguous names are detected at build time. Therefore, unlike {@link jakarta.enterprise.inject.spi.BeanManager.getBeans(String)} this method either returns a resolved bean ornull
if no bean matches.- Specified by:
namedBean
in interfaceArcContainer
- Returns:
- an injectable bean with the given name or null
- See Also:
-
instance
Description copied from interface:ArcContainer
Never returns null. However, the handle is empty if no bean matches/multiple beans match the specified name.- Specified by:
instance
in interfaceArcContainer
- Returns:
- a new instance handle
- See Also:
-
requestContext
Description copied from interface:ArcContainer
This method never throwsContextNotActiveException
.- Specified by:
requestContext
in interfaceArcContainer
- Returns:
- the built-in context for
RequestScoped
-
beanManager
public jakarta.enterprise.inject.spi.BeanManager beanManager()Description copied from interface:ArcContainer
NOTE: Not all methods are supported!- Specified by:
beanManager
in interfaceArcContainer
- Returns:
- the bean manager
-
getExecutorService
- Specified by:
getExecutorService
in interfaceArcContainer
- Returns:
- the default executor service
-
setExecutor
-
getCurrentContextFactory
- Specified by:
getCurrentContextFactory
in interfaceArcContainer
- Returns:
- the factory
- See Also:
-
strictCompatibility
public boolean strictCompatibility()Description copied from interface:ArcContainer
Indicates whether container runs in strict compatibility mode. Default value is false.- Specified by:
strictCompatibility
in interfaceArcContainer
- Returns:
- true is strict mode is enabled, false otherwise.
-
toString
-
shutdown
public void shutdown() -
getBeans
-
getRemovedBeans
-
getInterceptors
-
getDecorators
-
getObservers
-
mockObservers
-
mockObserversFor
-
instance
-