|
eXo Kernel :: Container 2.5.0-GA | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.exoplatform.container.DefaultInterceptorChainFactory
public class DefaultInterceptorChainFactory
The default implementation of a InterceptorChainFactory. This implementation
uses 3 static Interceptor which are ConcurrentContainer,
CachingContainer and ManageableContainer and uses a list of dynamic Interceptor
that are retrieved thanks to the ServiceLoader. Then according to the annotations Before
and After defined on the dynamic Interceptor, it will define an ordered list of Interceptor
classes which will be used at each next calls of getInterceptorChain(ExoContainer, ExoContainer) to
re-create the exact same chain of Interceptor.
| Constructor Summary | |
|---|---|
DefaultInterceptorChainFactory()
|
|
| Method Summary | |
|---|---|
protected List<Interceptor> |
getDynamicInterceptors(ExoContainer holder,
ExoContainer parent)
Gives the dynamic Interceptor from the last to the head |
Interceptor |
getInterceptorChain(ExoContainer holder,
ExoContainer parent)
Creates a new Interceptor chain with the provided ExoContainer instance as parent container
and with the provided ExoContainer as holder of the container. |
protected List<Interceptor> |
getStaticInterceptors(ExoContainer holder,
ExoContainer parent)
Gives the static Interceptor from the last to the head |
protected List<Interceptor> |
resolve(List<Interceptor> staticInts,
List<Interceptor> dynamicInts)
Resolves all the dynamic Interceptor and inject them into a list of Interceptor
according to the annotation Before and After |
protected void |
resolveNext(List<Interceptor> alreadyResolved,
Iterator<Interceptor> iter,
boolean resolveIfAbsent)
Resolves the next dynamic Interceptor using the annotation Before and After |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public DefaultInterceptorChainFactory()
| Method Detail |
|---|
public Interceptor getInterceptorChain(ExoContainer holder,
ExoContainer parent)
Interceptor chain with the provided ExoContainer instance as parent container
and with the provided ExoContainer as holder of the container. The holder is mostly
used when it is required to be able to go through the chain of Interceptor
getInterceptorChain in interface InterceptorChainFactoryholder - the holder of the containerparent - the parent container, if null the container will be considered
as the root container.
Interceptor corresponding to the head of the Interceptor chain
protected List<Interceptor> getStaticInterceptors(ExoContainer holder,
ExoContainer parent)
Interceptor from the last to the head
protected List<Interceptor> getDynamicInterceptors(ExoContainer holder,
ExoContainer parent)
Interceptor from the last to the head
protected List<Interceptor> resolve(List<Interceptor> staticInts,
List<Interceptor> dynamicInts)
Interceptor and inject them into a list of Interceptor
according to the annotation Before and After
protected void resolveNext(List<Interceptor> alreadyResolved,
Iterator<Interceptor> iter,
boolean resolveIfAbsent)
Interceptor using the annotation Before and After
alreadyResolved - the list of Interceptor already resolvediter - the Iterator containing the remaining dynamic Interceptor to resolveresolveIfAbsent - indicates if the interceptor must be resolved if the referred interceptor could not
be found
|
eXo Kernel :: Container 2.5.0-GA | |||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||