"flavia.rainone(a)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#...
Reply to the post :
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&a...