- java.lang.Object
-
- jakarta.enterprise.inject.spi.CDI<T>
-
- Type Parameters:
T
- type inherited fromInstance
. Always Object for CDI
- All Implemented Interfaces:
Instance<T>
,jakarta.inject.Provider<T>
,java.lang.Iterable<T>
public abstract class CDI<T> extends java.lang.Object implements Instance<T>
Provides access to the current container.CDI implements
Instance
and therefore might be used to perform programmatic lookup. If no qualifier is passed toInstance.select(java.lang.annotation.Annotation...)
method, the@Default
qualifier is assumed.- Since:
- 1.1
- Author:
- Pete Muir, Antoine Sabot-Durand, John D. Ament
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface jakarta.enterprise.inject.Instance
Instance.Handle<T>
-
-
Field Summary
Fields Modifier and Type Field Description protected static CDIProvider
configuredProvider
protected static java.util.Set<CDIProvider>
discoveredProviders
-
Constructor Summary
Constructors Constructor Description CDI()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description static CDI<java.lang.Object>
current()
Get the CDI instance that provides access to the current container.BeanContainer
getBeanContainer()
Get the CDIBeanContainer
for the current context.abstract BeanManager
getBeanManager()
Get the CDI BeanManager for the current contextstatic void
setCDIProvider(CDIProvider provider)
Set theCDIProvider
to use.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface jakarta.enterprise.inject.Instance
destroy, getHandle, handles, handlesStream, isAmbiguous, isResolvable, isUnsatisfied, select, select, select, stream
-
-
-
-
Field Detail
-
discoveredProviders
protected static volatile java.util.Set<CDIProvider> discoveredProviders
-
configuredProvider
protected static volatile CDIProvider configuredProvider
-
-
Method Detail
-
current
public static CDI<java.lang.Object> current()
Get the CDI instance that provides access to the current container.
If there are no providers available, an
IllegalStateException
is thrown, otherwise the first provider which can access the container is used.- Returns:
- the CDI instance
- Throws:
java.lang.IllegalStateException
- if noCDIProvider
is available
-
setCDIProvider
public static void setCDIProvider(CDIProvider provider)
Set the
CDIProvider
to use.If a
CDIProvider
is set using this method, any provider specified as a service provider will not be used.- Parameters:
provider
- the provider to use- Throws:
java.lang.IllegalStateException
- if theCDIProvider
is already set
-
getBeanManager
public abstract BeanManager getBeanManager()
Get the CDI BeanManager for the current context- Returns:
- the
BeanManager
-
getBeanContainer
public BeanContainer getBeanContainer()
Get the CDIBeanContainer
for the current context. Default implementation just forwards the call togetBeanManager()
.- Returns:
- the
BeanContainer
-
-