|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.nanocontainer.aop.dynaop.DynaopAspectsManager
An AspectsManager
implemented using dynaop.
Constructor Summary | |
DynaopAspectsManager()
Creates a new DynaopAspectsManager . |
|
DynaopAspectsManager(dynaop.Aspects containerAspects)
Creates a new DynaopAspectsManager that will used the
given dynaop.Aspects object. |
|
DynaopAspectsManager(dynaop.Aspects containerAspects,
PointcutsFactory pointcutsFactory)
Creates a new DynaopAspectsManager that will used the
given dynaop.Aspects object and pointcuts factory. |
|
DynaopAspectsManager(PointcutsFactory pointcutsFactory)
Creates a new DynaopAspectsManager that will use the given
pointcuts factory. |
Method Summary | |
java.lang.Object |
applyAspects(java.lang.Object componentKey,
java.lang.Object component,
org.picocontainer.PicoContainer container)
|
PointcutsFactory |
getPointcutsFactory()
Produces a pointcuts factory that can be used to create pointcuts to be used in aspects registered with this AspectsContainer . |
void |
registerInterceptor(ClassPointcut classPointcut,
MethodPointcut methodPointcut,
org.aopalliance.intercept.MethodInterceptor interceptor)
Registers container scoped interceptor advice. |
void |
registerInterceptor(ClassPointcut classPointcut,
MethodPointcut methodPointcut,
java.lang.Object interceptorComponentKey)
Registers container supplied container scoped interceptor advice. |
void |
registerInterceptor(ComponentPointcut componentPointcut,
MethodPointcut methodPointcut,
org.aopalliance.intercept.MethodInterceptor interceptor)
Registers component scoped interceptor advice. |
void |
registerInterceptor(ComponentPointcut componentPointcut,
MethodPointcut methodPointcut,
java.lang.Object interceptorComponentKey)
Registers component scoped interceptor advice. |
void |
registerInterfaces(ClassPointcut classPointcut,
java.lang.Class[] interfaces)
Adds interfaces to classes picked by the class pointcut. |
void |
registerInterfaces(ComponentPointcut componentPointcut,
java.lang.Class[] interfaces)
Adds interfaces to components picked by the component pointcut. |
void |
registerMixin(ClassPointcut classPointcut,
java.lang.Class mixinClass)
Registers container scoped mixin advice. |
void |
registerMixin(ClassPointcut classPointcut,
java.lang.Class[] interfaces,
java.lang.Class mixinClass)
Registers container scoped mixin advice. |
void |
registerMixin(ComponentPointcut componentPointcut,
java.lang.Class mixinClass)
Registers component scoped mixin advice. |
void |
registerMixin(ComponentPointcut componentPointcut,
java.lang.Class[] interfaces,
java.lang.Class mixinClass)
Registers component scoped mixin advice. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
public DynaopAspectsManager(dynaop.Aspects containerAspects, PointcutsFactory pointcutsFactory)
DynaopAspectsManager
that will used the
given dynaop.Aspects
object and pointcuts factory. This
constructor might be useful if the containerAspects
object
contains aspects already configured via dynaop's API, perhaps using
dynaop's BeanShell configuration mechanism.
containerAspects
- the dyanop.Aspects
object used to
contain the aspects.pointcutsFactory
- the pointcuts factory.public DynaopAspectsManager(dynaop.Aspects containerAspects)
DynaopAspectsManager
that will used the
given dynaop.Aspects
object. This constructor might be
useful if the containerAspects
object contains aspects
already configured via dynaop's API, perhaps using dynaop's BeanShell
configuration mechanism.
containerAspects
- the dyanop.Aspects
object used to
contain the aspects.public DynaopAspectsManager(PointcutsFactory pointcutsFactory)
DynaopAspectsManager
that will use the given
pointcuts factory.
pointcutsFactory
- the pointcuts factory.public DynaopAspectsManager()
DynaopAspectsManager
.
Method Detail |
public void registerInterceptor(ClassPointcut classPointcut, MethodPointcut methodPointcut, java.lang.Object interceptorComponentKey)
AspectsContainer
interceptorComponentKey
. The advice will be
applied to all components in the container whose class satisfies the
classPointcut
. The interceptor will only intercept
methods that match the methodPointcut
.
registerInterceptor
in interface AspectsContainer
classPointcut
- classes to apply the interceptor to.methodPointcut
- methods to apply the interceptor to.interceptorComponentKey
- the interceptor component key.public void registerInterceptor(ClassPointcut classPointcut, MethodPointcut methodPointcut, org.aopalliance.intercept.MethodInterceptor interceptor)
AspectsContainer
classPointcut
. The interceptor will only intercept
methods that match the methodPointcut
.
registerInterceptor
in interface AspectsContainer
classPointcut
- classes to apply the interceptor to.methodPointcut
- methods to apply the interceptor to.interceptor
- the interceptor advice object.public void registerInterceptor(ComponentPointcut componentPointcut, MethodPointcut methodPointcut, java.lang.Object interceptorComponentKey)
AspectsContainer
interceptorComponentKey
. The advice will be applied to
all components in the container whose key satisfies
componentPointcut
. The interceptor will only intercept
methods that match the methodPointcut
.
registerInterceptor
in interface AspectsContainer
componentPointcut
- components to apply the interceptor to.methodPointcut
- methods to apply the interceptor to.interceptorComponentKey
- the interceptor component key.public void registerInterceptor(ComponentPointcut componentPointcut, MethodPointcut methodPointcut, org.aopalliance.intercept.MethodInterceptor interceptor)
AspectsContainer
componentPointcut
. The interceptor will only intercept
methods that match the methodPointcut
.
registerInterceptor
in interface AspectsContainer
componentPointcut
- components to apply the interceptor to.methodPointcut
- methods to apply the interceptor to.interceptor
- the interceptor advice object.public void registerMixin(ClassPointcut classPointcut, java.lang.Class mixinClass)
AspectsContainer
classPointcut
. Convenience method that uses all
interfaces implemented by the mixin class.
registerMixin
in interface AspectsContainer
classPointcut
- classes to add mixin to.mixinClass
- the mixin implementation.for
details on how mixinClass
gets instantiated.
public void registerMixin(ClassPointcut classPointcut, java.lang.Class[] interfaces, java.lang.Class mixinClass)
AspectsContainer
classPointcut
.
If a component of type mixinClass
has been registered in
the container, that component will be used as the mixin. Otherwise a new
object of type mixinClass
will be instantiated each time
the mixin is applied to a component. Any dependencies the mixin has will
be supplied from components in the container, or, if there are no
dependencies, the default constructor will be invoked to instantiate the
mixin.
registerMixin
in interface AspectsContainer
classPointcut
- classes to add mixin to.interfaces
- interfaces the mixin implements.mixinClass
- the mixin implementation.public void registerMixin(ComponentPointcut componentPointcut, java.lang.Class mixinClass)
AspectsContainer
componentPointcut
. Convenience method that uses all
interfaces implemented by the mixin class.
registerMixin
in interface AspectsContainer
componentPointcut
- classes to add mixin to.mixinClass
- the mixin implementation.for
details on how mixinClass
gets instantiated.
public void registerMixin(ComponentPointcut componentPointcut, java.lang.Class[] interfaces, java.lang.Class mixinClass)
AspectsContainer
componentPointcut
.
registerMixin
in interface AspectsContainer
componentPointcut
- classes to add mixin to.interfaces
- interfaces the mixin implements.mixinClass
- the mixin implementation.for
details on how mixinClass
gets instantiated.
public void registerInterfaces(ClassPointcut classPointcut, java.lang.Class[] interfaces)
AspectsContainer
registerInterfaces
in interface AspectsContainer
classPointcut
- classes to add interfaces to.interfaces
- the interfaces to add.public void registerInterfaces(ComponentPointcut componentPointcut, java.lang.Class[] interfaces)
AspectsContainer
registerInterfaces
in interface AspectsContainer
componentPointcut
- components to add interfaces to.interfaces
- the interfaces to add.for
notes on using this method.
public PointcutsFactory getPointcutsFactory()
AspectsContainer
AspectsContainer
.
Note that you are not limited to pointcuts produced by this factory; any
pointcut that implements the appropriate ClassPointcut
,
MethodPointcut
or ComponentPointcut
will
work.
getPointcutsFactory
in interface AspectsContainer
public java.lang.Object applyAspects(java.lang.Object componentKey, java.lang.Object component, org.picocontainer.PicoContainer container)
applyAspects
in interface AspectsApplicator
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |