SlideShare a Scribd company logo
1 of 93
Download to read offline
BeanManager
Object	getReference(Bean<?>,	Type,	CreationalContext<?>	)
Object	getInjectableReference(InjectionPoint,	CreationalContext<?>	)
Set<Bean<?>>	getBeans(Type,	Annotation[])
Bean<?	extends	X>	resolve(Set<Bean<?	extends	X>>)
void	validate(InjectionPoint)
void	fireEvent(Object,	Annotation[])
boolean	isQualifier(Class<?	extends	Annotation>)
boolean	isStereotype(Class<?	extends	Annotation>)
boolean	areQualifiersEquivalent(Annotation,	Annotation)
boolean	areInterceptorBindingsEquivalent(Annotation,	Annotation)
Context	getContext(Class<?	extends	Annotation>)
ELResolver	getELResolver()
ExpressionFactory	wrapExpressionFactory(ExpressionFactory)
AnnotatedType<T>	createAnnotatedType(Class<T>)
InjectionTarget<T>	createInjectionTarget(AnnotatedType<T>)
InjectionTargetFactory<T>	getInjectionTargetFactory(AnnotatedType<T>)
BeanAttributes<T>	createBeanAttributes(AnnotatedType<T>)
Bean<T>	createBean(BeanAttributes<T>,	Class<X>,	ProducerFactory<X>)
InjectionPoint	createInjectionPoint(AnnotatedField<?>)
some	methods	skipped
JNDI
CDI
T
CDI<Object>	current()
BeanManager	getBeanManager()
Instance
T
Instance<T>	select(Annotation[])
Instance<V	extends	T>	select(Class<V>,	Annotation[])
Instance<V	extends	T>	select(TypeLiteral<V>,	Annotation[])
boolean	isUnsatisfied()
boolean	isAmbiguous()
void	destroy(T)
Unmanaged
T
Unmanaged(BeanManager,	Class<T>)
Unmanaged(Class<T>)
UnmanagedInstance<T>	newInstance()
UnmanagedInstance
T
T	get()
UnmanagedInstance<T>	produce()
UnmanagedInstance<T>	inject()
UnmanagedInstance<T>	postConstruct()
UnmanagedInstance<T>	preDestroy()
UnmanagedInstance<T>	dispose()
java:comp/BeanManager returns
returns
…​
…​
Annotated
Type	getBaseType()
Set<Type>	getTypeClosure()
<T	extends	Annotation>	getAnnotation(Class<T>)
Set<Annotation>	getAnnotations()
boolean	isAnnotationPresent(Class<?	extends	Annotation>)
AnnotatedParameter
X
int	getPosition()
AnnotatedCallable<X>	getDeclaringCallable()
AnnotatedMember
X
Member	getJavaMember()
boolean	isStatic()
AnnotatedType<X>	getDeclaringType()
AnnotatedType
X
Class<X>	getJavaClass()
Set<AnnotatedConstructor<X>>	getConstructors()
Set<AnnotatedMethod<?	super	X>>	getMethods()
Set<AnnotatedField<?	super	X>>	getFields()
AnnotatedCallable
X
List<AnnotatedParameter<X>>	getParameters()
AnnotatedField
X
Field	getJavaMember()
AnnotatedConstructor
X
Constructor<X>	getJavaMember()
AnnotatedMethod
X
Method	getJavaMember()
Contextual
T
T	create(CreationalContext<T>)
destroy(T,	CreationalContext<T>)
Bean
T
Class<?>	getBeanClass()
Set<InjectionPoint>	getInjectionPoints()
boolean	isNullable()
BeanAttributes
T
Set<Type>	getTypes()
Set<Annotation>	getQualifiers()
Class<?	extends	Annotation>	getScope()
String	getName()
Set<Class<?	extends	Annotation>>	getStereotypes()
boolean	isAlternative()
Interceptor
T
Set<Annotation>	getInterceptorBindings()
boolean	intercepts(InterceptionType	type)
Object	intercept(InterceptionType,	T,	InvocationContext)
Decorator
T
Type	getDelegateType()
Set<Annotation>	getDelegateQualifiers()
Set<Type>	getDecoratedTypes()
Producer
T
T	produce(CreationalContext<T>)
void	dispose(T)
Set<InjectionPoint>	getInjectionPoints()
InjectionTarget
T
void	inject(T,	CreationalContext<T>)
void	postConstruct(T)
void	preDestroy(T)
ProducerFactory
X
<T>	Producer<T>	createProducer(Bean<T>)
InjectionTargetFactory
T
InjectionTarget<T>	createInjectionTarget(Bean<T>)
ObserverMethod
T
Class<?>	getBeanClass()
Type	getObservedType()
Set<Annotation>	getObservedQualifiers()
Reception	getReception()
TransactionPhase	getTransactionPhase()
void	notify(T)
EventMetadata
Set<Annotation>	getQualifiers()
InjectionPoint	getInjectionPoint()
Type	getType()
InjectionPoint
Type	getType()
Set<Annotation>	getQualifiers()
Bean<?>	getBean()
Member	getMember()
Annotated	getAnnotated()
boolean	isDelegate()
boolean	isTransient()
provides
provides
BeforeBeanDiscovery
addQualifier(Class<?	extends	Annotation>)
addScope(Class<?	extends	Annotation>,	boolean,	boolean)
addStereotype(Class<?	extends	Annotation>,	Annotation[])
addInterceptorBinding(Class<?	extends	Annotation>,	Annotation[])
addAnnotatedType(AnnotatedType<?>)
AfterTypeDiscovery
List<Class<?>>	getAlternatives()
List<Class<?>>	getInterceptors()
List<Class<?>>	getDecorators()
addAnnotatedType(AnnotatedType<?>,	String)
AfterDeploymentValidation BeforeShutdown
AfterBeanDiscovery
addBean(Bean<?>)
addObserverMethod(ObserverMethod<?>)
addContext(Context)
AnnotatedType<T>	getAnnotatedType(Class<T>,	String)
Iterable<AnnotatedType<T>>	getAnnotatedTypes(Class<T>)
ProcessAnnotatedType
X
AnnotatedType<X>	getAnnotatedType()
void	setAnnotatedType(AnnotatedType<X>)
veto()
ProcessBean
X
Annotated	getAnnotated()
Bean<X>	getBean()
ProcessBeanAttributes
T
Annotated	getAnnotated()
BeanAttributes<T>	getBeanAttributes()
setBeanAttributes(BeanAttributes<T>)
veto()
ProcessInjectionPoint
T,	X
InjectionPoint	getInjectionPoint()
setInjectionPoint(InjectionPoint)
ProcessInjectionTarget
X
AnnotatedType<X>	getAnnotatedType()
InjectionTarget<X>	getInjectionTarget()
setInjectionTarget(InjectionTarget<X>)
ProcessObserverMethod
T,	X
AnnotatedMethod<X>	getAnnotatedMethod()
ObserverMethod<T>	getObserverMethod()
ProcessProducer
T,	X
AnnotatedMember<T>	getAnnotatedMember()
Producer<X>	getProducer()
setProducer(Producer<X>)
Internal	Step Happen	Once Loop	on	Elements
Deployment
Start
Before
Bean
Discovery
Scan
Archive
Process
Annotated
Type
After
Type
Discovery
Bean
Eligibility
Check
Process
Injection
Point
Process
Injection
Target
Process
Bean
Attributes
Process
Bean
Process
Producer
Process
Observer
Method
After
Bean
Discovery
After
Deployment
Validation
Application
Running
Before
Shutdown
Undeploy
Application
1
1
1
1
1
1
1
2
2
1
2
1
2
3
1
2
3
1
1
1
1
2
1
2
…​
…​
…​
…​
…​
…​
1
1
1
2
3
1
2
3
1
1
Internal	Step Happen	Once Loop	on	Elements
Deployment
Start
Before
Bean
Discovery
Scan
Archive
Process
Annotated
Type
After
Type
Discovery
Bean
Eligibility
Check
Process
Injection
Point
Process
Injection
Target
Process
Bean
Attributes
Process
Bean
Process
Producer
Process
Observer
Method
After
Bean
Discovery
After
Deployment
Validation
Application
Running
Before
Shutdown
Undeploy
Application
1
1
2
1
2
1
1
1
1
1
2
2
1
2
1
2
3
3
1
2
3
1
1
1
1
…​
1
2
1
2
Internal	Step Happen	Once Loop	on	Elements
Deployment
Start
Before
Bean
Discovery
Scan
Archive
Process
Annotated
Type
After
Type
Discovery
Bean
Eligibility
Check
Process
Injection
Point
Process
Injection
Target
Process
Bean
Attributes
Process
Bean
Process
Producer
Process
Observer
Method
After
Bean
Discovery
After
Deployment
Validation
Application
Running
Before
Shutdown
Undeploy
Application
1
2
3
1
2
3
1
2
3
1
2
3
1
2
1
2
1
1
Mute Java EE DNA with CDI
Mute Java EE DNA with CDI
Mute Java EE DNA with CDI
Mute Java EE DNA with CDI
Mute Java EE DNA with CDI

More Related Content

Viewers also liked

Introduction to cdi given at java one 2014
Introduction to cdi given at java one 2014Introduction to cdi given at java one 2014
Introduction to cdi given at java one 2014
Antoine Sabot-Durand
 
Lei de Demeter parte
Lei de Demeter parteLei de Demeter parte
Lei de Demeter parte
Jorge Oleques
 

Viewers also liked (20)

CDI 2.0 is upon us Devoxx
CDI 2.0 is upon us DevoxxCDI 2.0 is upon us Devoxx
CDI 2.0 is upon us Devoxx
 
Advanced CDI in live coding
Advanced CDI in live codingAdvanced CDI in live coding
Advanced CDI in live coding
 
CDI 2.0 is coming
CDI 2.0 is comingCDI 2.0 is coming
CDI 2.0 is coming
 
CDI 1.1 university
CDI 1.1 universityCDI 1.1 university
CDI 1.1 university
 
Adopt a JSR: CDI 2.0 at Devoxx UK
Adopt a JSR: CDI 2.0 at Devoxx UKAdopt a JSR: CDI 2.0 at Devoxx UK
Adopt a JSR: CDI 2.0 at Devoxx UK
 
Java EE, un ami qui vous veut du bien
Java EE, un ami qui vous veut du bienJava EE, un ami qui vous veut du bien
Java EE, un ami qui vous veut du bien
 
Devoxx Java Social and Agorava
Devoxx Java Social and AgoravaDevoxx Java Social and Agorava
Devoxx Java Social and Agorava
 
Apache Deltaspike the CDI Toolbox (Java One 2015)
Apache Deltaspike the CDI Toolbox (Java One 2015)Apache Deltaspike the CDI Toolbox (Java One 2015)
Apache Deltaspike the CDI Toolbox (Java One 2015)
 
Invoke dynamite in Java EE with invoke dynamic
Invoke dynamite in Java EE with invoke dynamicInvoke dynamite in Java EE with invoke dynamic
Invoke dynamite in Java EE with invoke dynamic
 
CDI 2.0 is coming
CDI 2.0 is comingCDI 2.0 is coming
CDI 2.0 is coming
 
The path to cdi 2.0
The path to cdi 2.0The path to cdi 2.0
The path to cdi 2.0
 
Going further with CDI 1.2
Going further with CDI 1.2Going further with CDI 1.2
Going further with CDI 1.2
 
Apache DeltaSpike the CDI toolbox
Apache DeltaSpike the CDI toolboxApache DeltaSpike the CDI toolbox
Apache DeltaSpike the CDI toolbox
 
Extending Java EE with CDI and JBoss Forge
Extending Java EE with CDI and JBoss ForgeExtending Java EE with CDI and JBoss Forge
Extending Java EE with CDI and JBoss Forge
 
Introduction to cdi given at java one 2014
Introduction to cdi given at java one 2014Introduction to cdi given at java one 2014
Introduction to cdi given at java one 2014
 
CDI mis en pratique avec Seam Social et Weld OSGI
CDI mis en pratique avec Seam Social et Weld OSGICDI mis en pratique avec Seam Social et Weld OSGI
CDI mis en pratique avec Seam Social et Weld OSGI
 
Lei de Demeter parte
Lei de Demeter parteLei de Demeter parte
Lei de Demeter parte
 
Java EE 6 & Spring: A Lover's Quarrel
Java EE 6 & Spring: A Lover's QuarrelJava EE 6 & Spring: A Lover's Quarrel
Java EE 6 & Spring: A Lover's Quarrel
 
CDI In Real Life
CDI In Real LifeCDI In Real Life
CDI In Real Life
 
The Magnificent java EE 7 in Wildfly-O-Rama
The Magnificent java EE 7 in Wildfly-O-RamaThe Magnificent java EE 7 in Wildfly-O-Rama
The Magnificent java EE 7 in Wildfly-O-Rama
 

Recently uploaded

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Medical / Health Care (+971588192166) Mifepristone and Misoprostol tablets 200mg
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
Health
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
masabamasaba
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
chiefasafspells
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
shinachiaurasa2
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
VictoriaMetrics
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
masabamasaba
 

Recently uploaded (20)

Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni%in Benoni+277-882-255-28 abortion pills for sale in Benoni
%in Benoni+277-882-255-28 abortion pills for sale in Benoni
 
Artyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptxArtyushina_Guest lecture_YorkU CS May 2024.pptx
Artyushina_Guest lecture_YorkU CS May 2024.pptx
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
+971565801893>>SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHAB...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
%+27788225528 love spells in new york Psychic Readings, Attraction spells,Bri...
 
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
Crypto Cloud Review - How To Earn Up To $500 Per DAY Of Bitcoin 100% On AutoP...
 
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
Love witchcraft +27768521739 Binding love spell in Sandy Springs, GA |psychic...
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare%in Harare+277-882-255-28 abortion pills for sale in Harare
%in Harare+277-882-255-28 abortion pills for sale in Harare
 
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
WSO2CON 2024 - Cloud Native Middleware: Domain-Driven Design, Cell-Based Arch...
 
The title is not connected to what is inside
The title is not connected to what is insideThe title is not connected to what is inside
The title is not connected to what is inside
 
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
Large-scale Logging Made Easy: Meetup at Deutsche Bank 2024
 
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
%+27788225528 love spells in Atlanta Psychic Readings, Attraction spells,Brin...
 
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
%in Stilfontein+277-882-255-28 abortion pills for sale in Stilfontein
 
WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?WSO2CON 2024 - Does Open Source Still Matter?
WSO2CON 2024 - Does Open Source Still Matter?
 
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
%in Hazyview+277-882-255-28 abortion pills for sale in Hazyview
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 

Mute Java EE DNA with CDI