[jboss-user] [JBoss AOP] - Re: How to annotate in opposite way
john_woo@canada.com
do-not-reply at jboss.com
Tue Oct 28 17:13:38 EDT 2008
"flavia.rainone at jboss.com" wrote : You can use the negation operator !.
|
| First, take a look at the expression bellow:
|
| call(* com.a..->*(..)) AND within(com.b..)
|
| It will match every call to a method of a class in package com.a made by a class at package com.b
|
| If you use this in a declare error tag, it will forbid any calls from classes of com.b to methods of classes of package com.a.
|
| But this is not what you want. You have exceptions to this rule. There are 10 methods you want to allow being called by classes at com.b. In this case, you can use AND ! (and not):
|
| call(* com.a..->*(..)) AND within (com.b..) AND !(call(<method_1>) OR call(<method_2>) OR ... OR call(<method_10>))
|
| Whereas <method_i> stands for the expression matching the ith method you want to be allowed to be called, like:
| * com.a.NameoftheClass->method1(..)
|
| So, the expression above will forbid any calls from classes at package com.b made to methods of classes belonging to package com.a, except if those methods are one of the methods that match one of the expressions method_i.
Thanks lots!
That really help.
--
John
View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4185230#4185230
Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4185230
More information about the jboss-user
mailing list