anonymous wrote : It should now be a matter of plugging it into the advisors so we only
match what we need to match.
The BindingClassifier is plugged in the class advisor. However, my initial suggestion was
a little different from what we have implemented. My suggestion consisted of keeping
pointcuts classified into collections, so that it would be a matter of just retrieving the
appropriate collection to perform the matching. Here is a piece of an e-mail I sent to the
aop-dev list:
anonymous wrote : So, for example, when ClassAdvisor is building a chain for fieal read,
it will do something like AspectManager.getFieldReadPointcuts(), or
AspectManager.getPointcuts(PointcutType.FIELD_READ). It would match only those pointcuts
to build the chains for field read joinpoints.
|
| To avoid incrementing the AspectManager interface too much, the methods added to
AspectManager should be package protected. Another possibility would be adding a single
method to AspectManager:
| PointcutCollection pointcuts = AspectManager.getPointcutCollection();
|
| Whereas PointcutCollection is a package-protected class, and this class would contain
the methods to get all the specific pointcuts collection: getExecutionPointcuts,
getFieldReadPointcuts, and so on. Notice that, whatever we add to AspectManager, can and
should be package-proctected. So, the method above would be package-protected as well.
|
This approach would avoid the extra cost of doing an if statement for each binding to be
matched. What do you think?
View the original post :
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4153424#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...