Package javax.enterprise.inject.spi
Class CDI<T>
- java.lang.Object
-
- javax.enterprise.inject.spi.CDI<T>
-
- Type Parameters:
T
- type inherited fromInstance
. Always Object for CDI
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
-
-
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.abstract BeanManager
getBeanManager()
Get the CDI BeanManager for the current contextstatic void
setCDIProvider(CDIProvider provider)
Set theCDIProvider
to use.-
Methods inherited from interface javax.enterprise.inject.Instance
destroy, 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
-
-