[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
Re: [aspectj-users] pointcut to match a specific object in argument
|
You're right that you have to enumerate -- first, second.. last:
(execution(* *(Order, ..)) && args(order, ..))
|| (execution(* *(*, Order, ..)) && args(*, order, ..))
|| (execution(* *(*, *, Order, ..)) && args(*, *, order, ..))
... for as many places as you need, then
|| (execution(* *(.., Order)) && args(.., order))
Wes
> ------------Original Message------------
> From: Martin Börlin <borlin@xxxxxxxxxxx>
> To: aspectj-users@xxxxxxxxxxx
> Date: Mon, Sep-18-2006 3:58 AM
> Subject: [aspectj-users] pointcut to match a specific object in argument
>
> All!
>
> How do I create a pointcut that matches the joinpoint where a method
> is executed and has (at least) one specific argument, regardless of
> other arguments (their number and place) in the method. I.e. I want a
> pointcut that matches the execution of all methods with one argument
> Order. See some example methods at the end of this email.
>
> My futile atemts to write this pointcut looks like this:
>
> //seems to only match methods where the Order object argument is last,
> example 3), 4) and 5)
> pointcut trackOrder(Order order) :
> execution(* *(.., Order, ..))
> && (args(.., order));
>
> //seems to only match methods where the Order object argument is
> first, example 1), 4) and 5)
> pointcut trackOrder(Order order) :
> execution(* *(.., Order, ..))
> && (args(order, ..));
>
> //"Could" work but generates the error: "2 uses more than one .. in
> args (compiler limitation)"
> pointcut trackOrder(Order order) :
> execution(* *(.., Order, ..))
> && (args(.., order, ..));
>
>
> 1) public void m1(Order myOrder, String s1, String s2)
>
> 2) public String m2(String s1, Order myOrder, int i1)
>
> 3) public boolean myMethod(int i1, String s1, Order myOrder)
>
> 4) public Order getOrderId(Order order)
>
> 5) public int compare(Order o1, Order o2)
>
>
> Regards Martin Börlin
> _______________________________________________
> aspectj-users mailing list
> aspectj-users@xxxxxxxxxxx
> https://dev.eclipse.org/mailman/listinfo/aspectj-users
>