Class CdiComponentProvider
java.lang.Object
org.glassfish.jersey.ext.cdi1x.internal.CdiComponentProvider
- All Implemented Interfaces:
jakarta.enterprise.inject.spi.Extension,ComponentProvider
public class CdiComponentProvider
extends Object
implements ComponentProvider, jakarta.enterprise.inject.spi.Extension
Jersey CDI integration implementation.
Implements
Jersey component provider to serve CDI beans
obtained from the actual CDI bean manager.
To properly inject JAX-RS/Jersey managed beans into CDI, it also
serves as a CDI Extension, that intercepts CDI injection targets.- Author:
- Jakub Podlesak
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classAuxiliary annotation for mocked beans used to cover Jersey/HK2 injected injection points. -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringName to be used when binding CDI injectee skipping class analyzer to HK2 service injection manager. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voidaddHK2DepenendencyCheck(Predicate<Class<?>> predicate) Add a predicate to test HK2 dependency to create a CDI bridge bean to HK2 for it.booleanbooleanbind(Class<?> component, ContractProvider contractProvider) voiddone()Gets you effective injection manager.voidinitialize(InjectionManager injectionManager) voidprocessAnnotatedType(jakarta.enterprise.inject.spi.ProcessAnnotatedType processAnnotatedType)
-
Field Details
-
CDI_CLASS_ANALYZER
Name to be used when binding CDI injectee skipping class analyzer to HK2 service injection manager.- See Also:
-
-
Constructor Details
-
CdiComponentProvider
public CdiComponentProvider()
-
-
Method Details
-
initialize
- Specified by:
initializein interfaceComponentProvider
-
bind
- Specified by:
bindin interfaceComponentProvider
-
bind
- Specified by:
bindin interfaceComponentProvider
-
done
public void done()- Specified by:
donein interfaceComponentProvider
-
processAnnotatedType
public void processAnnotatedType(jakarta.enterprise.inject.spi.ProcessAnnotatedType processAnnotatedType) -
getEffectiveInjectionManager
Gets you effective injection manager. Note: Do NOT lower the visibility of this method. CDI proxies need at least this visibility.- Returns:
- HK2 injection manager.
-
addHK2DepenendencyCheck
Add a predicate to test HK2 dependency to create a CDI bridge bean to HK2 for it.- Parameters:
predicate- to test whether given class is a HK2 dependency.
-