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.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4185103#4185103

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4185103
_______________________________________________
jboss-user mailing list
jboss-user@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to