Mute Java EE DNA with CDI

93

Transcript of Mute Java EE DNA with CDI

Page 1: Mute Java EE DNA with CDI
Page 2: Mute Java EE DNA with CDI
Page 3: Mute Java EE DNA with CDI
Page 6: Mute Java EE DNA with CDI
Page 7: Mute Java EE DNA with CDI
Page 8: Mute Java EE DNA with CDI
Page 9: Mute Java EE DNA with CDI
Page 10: Mute Java EE DNA with CDI
Page 11: Mute Java EE DNA with CDI
Page 12: Mute Java EE DNA with CDI

BeanManager

ObjectgetReference(Bean<?>,Type,CreationalContext<?>)ObjectgetInjectableReference(InjectionPoint,CreationalContext<?>)Set<Bean<?>>getBeans(Type,Annotation[])Bean<?extendsX>resolve(Set<Bean<?extendsX>>)voidvalidate(InjectionPoint)voidfireEvent(Object,Annotation[])

booleanisQualifier(Class<?extendsAnnotation>)booleanisStereotype(Class<?extendsAnnotation>)booleanareQualifiersEquivalent(Annotation,Annotation)booleanareInterceptorBindingsEquivalent(Annotation,Annotation)ContextgetContext(Class<?extendsAnnotation>)ELResolvergetELResolver()ExpressionFactorywrapExpressionFactory(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>)InjectionPointcreateInjectionPoint(AnnotatedField<?>)

somemethodsskipped

JNDI

CDIT

CDI<Object>current()BeanManagergetBeanManager()

InstanceT

Instance<T>select(Annotation[])Instance<VextendsT>select(Class<V>,Annotation[])Instance<VextendsT>select(TypeLiteral<V>,Annotation[])booleanisUnsatisfied()booleanisAmbiguous()voiddestroy(T)

UnmanagedT

Unmanaged(BeanManager,Class<T>)Unmanaged(Class<T>)UnmanagedInstance<T>newInstance()

UnmanagedInstanceT

Tget()UnmanagedInstance<T>produce()UnmanagedInstance<T>inject()UnmanagedInstance<T>postConstruct()UnmanagedInstance<T>preDestroy()UnmanagedInstance<T>dispose()

java:comp/BeanManager returns

returns

Page 13: Mute Java EE DNA with CDI

Page 14: Mute Java EE DNA with CDI

Annotated

TypegetBaseType()Set<Type>getTypeClosure()<TextendsAnnotation>getAnnotation(Class<T>)Set<Annotation>getAnnotations()booleanisAnnotationPresent(Class<?extendsAnnotation>)

AnnotatedParameterX

intgetPosition()AnnotatedCallable<X>getDeclaringCallable()

AnnotatedMemberX

MembergetJavaMember()booleanisStatic()AnnotatedType<X>getDeclaringType()

AnnotatedTypeX

Class<X>getJavaClass()Set<AnnotatedConstructor<X>>getConstructors()Set<AnnotatedMethod<?superX>>getMethods()Set<AnnotatedField<?superX>>getFields()

AnnotatedCallableX

List<AnnotatedParameter<X>>getParameters()

AnnotatedFieldX

FieldgetJavaMember()

AnnotatedConstructorX

Constructor<X>getJavaMember()

AnnotatedMethodX

MethodgetJavaMember()

Page 15: Mute Java EE DNA with CDI

ContextualT

Tcreate(CreationalContext<T>)destroy(T,CreationalContext<T>)

BeanT

Class<?>getBeanClass()Set<InjectionPoint>getInjectionPoints()booleanisNullable()

BeanAttributesT

Set<Type>getTypes()Set<Annotation>getQualifiers()Class<?extendsAnnotation>getScope()S tringgetName()Set<Class<?extendsAnnotation>>getS tereotypes()booleanisAlternative()

InterceptorT

Set<Annotation>getInterceptorBindings()booleanintercepts(InterceptionTypetype)Objectintercept(InterceptionType,T,InvocationContext)

DecoratorT

TypegetDelegateType()Set<Annotation>getDelegateQualifiers()Set<Type>getDecoratedTypes()

Page 16: Mute Java EE DNA with CDI

ProducerT

Tproduce(CreationalContext<T>)voiddispose(T)Set<InjectionPoint>getInjectionPoints()

InjectionTargetT

voidinject(T,CreationalContext<T>)voidpostConstruct(T)voidpreDestroy(T)

ProducerFactoryX

<T>Producer<T>createProducer(Bean<T>)

InjectionTargetFactoryT

InjectionTarget<T>createInjectionTarget(Bean<T>)

ObserverMethodT

Class<?>getBeanClass()TypegetObservedType()Set<Annotation>getObservedQualifiers()ReceptiongetReception()TransactionPhasegetTransactionPhase()voidnotify(T)

EventMetadata

Set<Annotation>getQualifiers()InjectionPointgetInjectionPoint()TypegetType()

InjectionPoint

TypegetType()Set<Annotation>getQualifiers()Bean<?>getBean()MembergetMember()AnnotatedgetAnnotated()booleanisDelegate()booleanisTransient()

provides

provides

Page 17: Mute Java EE DNA with CDI

BeforeBeanDiscovery

addQualifier(Class<?extendsAnnotation>)addScope(Class<?extendsAnnotation>,boolean,boolean)addStereotype(Class<?extendsAnnotation>,Annotation[])addInterceptorBinding(Class<?extendsAnnotation>,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>)

ProcessAnnotatedTypeX

AnnotatedType<X>getAnnotatedType()voidsetAnnotatedType(AnnotatedType<X>)veto()

ProcessBeanX

AnnotatedgetAnnotated()Bean<X>getBean()

ProcessBeanAttributesT

AnnotatedgetAnnotated()BeanAttributes<T>getBeanAttributes()setBeanAttributes(BeanAttributes<T>)veto()

ProcessInjectionPointT,X

InjectionPointgetInjectionPoint()setInjectionPoint(InjectionPoint)

ProcessInjectionTargetX

AnnotatedType<X>getAnnotatedType()InjectionTarget<X>getInjectionTarget()setInjectionTarget(InjectionTarget<X>)

ProcessObserverMethodT,X

AnnotatedMethod<X>getAnnotatedMethod()ObserverMethod<T>getObserverMethod()

ProcessProducerT,X

AnnotatedMember<T>getAnnotatedMember()Producer<X>getProducer()setProducer(Producer<X>)

Page 18: Mute Java EE DNA with CDI
Page 20: Mute Java EE DNA with CDI
Page 21: Mute Java EE DNA with CDI
Page 22: Mute Java EE DNA with CDI
Page 23: Mute Java EE DNA with CDI
Page 24: Mute Java EE DNA with CDI
Page 25: Mute Java EE DNA with CDI

InternalStep HappenOnce LooponElements

DeploymentStart

BeforeBean

DiscoveryScan

ArchiveProcess

AnnotatedType

AfterType

Discovery

BeanEligibilityCheck

ProcessInjectionPoint

ProcessInjectionTarget

ProcessBean

Attributes

ProcessBean

ProcessProducer

ProcessObserverMethod

AfterBean

Discovery

AfterDeploymentValidation

ApplicationRunning

BeforeShutdown

UndeployApplication

Page 26: Mute Java EE DNA with CDI
Page 27: Mute Java EE DNA with CDI
Page 28: Mute Java EE DNA with CDI
Page 29: Mute Java EE DNA with CDI
Page 30: Mute Java EE DNA with CDI
Page 31: Mute Java EE DNA with CDI
Page 32: Mute Java EE DNA with CDI
Page 33: Mute Java EE DNA with CDI
Page 34: Mute Java EE DNA with CDI

1

1

Page 35: Mute Java EE DNA with CDI
Page 36: Mute Java EE DNA with CDI

1

1

Page 37: Mute Java EE DNA with CDI

1

1

Page 38: Mute Java EE DNA with CDI
Page 39: Mute Java EE DNA with CDI
Page 40: Mute Java EE DNA with CDI

1

22

1

2

Page 41: Mute Java EE DNA with CDI

1

2

3

1

2

3

Page 42: Mute Java EE DNA with CDI
Page 43: Mute Java EE DNA with CDI
Page 44: Mute Java EE DNA with CDI

1

1

Page 45: Mute Java EE DNA with CDI
Page 46: Mute Java EE DNA with CDI
Page 47: Mute Java EE DNA with CDI
Page 48: Mute Java EE DNA with CDI

1

1

2

1

2

Page 49: Mute Java EE DNA with CDI

Page 50: Mute Java EE DNA with CDI

Page 51: Mute Java EE DNA with CDI
Page 52: Mute Java EE DNA with CDI
Page 53: Mute Java EE DNA with CDI

Page 54: Mute Java EE DNA with CDI
Page 55: Mute Java EE DNA with CDI

1

1

Page 56: Mute Java EE DNA with CDI
Page 57: Mute Java EE DNA with CDI
Page 58: Mute Java EE DNA with CDI
Page 59: Mute Java EE DNA with CDI

1

2

3

1

2

3

Page 60: Mute Java EE DNA with CDI
Page 61: Mute Java EE DNA with CDI

1

1

Page 62: Mute Java EE DNA with CDI

InternalStep HappenOnce LooponElements

DeploymentStart

BeforeBean

DiscoveryScan

ArchiveProcess

AnnotatedType

AfterType

Discovery

BeanEligibilityCheck

ProcessInjectionPoint

ProcessInjectionTarget

ProcessBean

Attributes

ProcessBean

ProcessProducer

ProcessObserverMethod

AfterBean

Discovery

AfterDeploymentValidation

ApplicationRunning

BeforeShutdown

UndeployApplication

Page 63: Mute Java EE DNA with CDI
Page 64: Mute Java EE DNA with CDI
Page 65: Mute Java EE DNA with CDI
Page 66: Mute Java EE DNA with CDI

1

Page 67: Mute Java EE DNA with CDI
Page 68: Mute Java EE DNA with CDI
Page 69: Mute Java EE DNA with CDI

1

2

1

2

Page 70: Mute Java EE DNA with CDI

1

1

Page 71: Mute Java EE DNA with CDI

1

1

Page 72: Mute Java EE DNA with CDI
Page 73: Mute Java EE DNA with CDI

1

2

2

1

2

Page 74: Mute Java EE DNA with CDI
Page 75: Mute Java EE DNA with CDI

1

23

3

1

2

3

Page 76: Mute Java EE DNA with CDI
Page 77: Mute Java EE DNA with CDI
Page 78: Mute Java EE DNA with CDI

1

1

1

1

Page 79: Mute Java EE DNA with CDI
Page 80: Mute Java EE DNA with CDI

Page 81: Mute Java EE DNA with CDI

1

2

1

2

Page 82: Mute Java EE DNA with CDI
Page 83: Mute Java EE DNA with CDI

InternalStep HappenOnce LooponElements

DeploymentStart

BeforeBean

DiscoveryScan

ArchiveProcess

AnnotatedType

AfterType

Discovery

BeanEligibilityCheck

ProcessInjectionPoint

ProcessInjectionTarget

ProcessBean

Attributes

ProcessBean

ProcessProducer

ProcessObserverMethod

AfterBean

Discovery

AfterDeploymentValidation

ApplicationRunning

BeforeShutdown

UndeployApplication

Page 84: Mute Java EE DNA with CDI
Page 85: Mute Java EE DNA with CDI

12

3

1

2

3

Page 86: Mute Java EE DNA with CDI

12

3

1

2

3

Page 87: Mute Java EE DNA with CDI

12

1

2

Page 88: Mute Java EE DNA with CDI

1

1

Page 89: Mute Java EE DNA with CDI
Page 90: Mute Java EE DNA with CDI
Page 91: Mute Java EE DNA with CDI
Page 93: Mute Java EE DNA with CDI