How's about: pointcut addEntity(Object o): call( * java.util.Collection+.add( * )) && args(o) && @args(MyAnnotation);
cheers, Andy On 17 July 2014 01:02, Alexander Kriegisch <alexan...@kriegisch.name> wrote: > I think this is not possible. But maybe Andy Clement knows better. It > would not be the first time he surprised me. Meanwhile, check out my > workaround at http://stackoverflow.com/a/24797868/1082681. > > -- > Alexander Kriegisch > http://scrum-master.de > > > Eric B schrieb am 17.07.2014 07:12: > > > Thanks. What if want to advise based on an annotation rather than a > type? I tried > > > > pointcut addEntity(@MyAnnotation * s): > > call( * java.util.Collection+.add( * )) > > && args(s); > > > > But got syntax error that @MyAnnotation is not allowed. > > > > > > On Jul 17, 2014 1:05 AM, "Ulises Juárez Martínez" <ujuare...@gmail.com > <mailto:ujuare...@gmail.com> > wrote: > >> add() signature is: > >> > >> add(E e) > >> > >> Thus, * matches anything, but java.lang.String is not E. > >> > >> Change your pointcut to: > >> > >> pointcut addEntity(String s): > >> call( * java.util.Collection+.add( * )) > >> && args(s); > >> > >> > >> > >> On Wed, Jul 16, 2014 at 10:31 PM, Eric B <ebenza...@gmail.com <mailto: > ebenza...@gmail.com> > wrote: > >> > I'm trying to write a pointcut against a Collection.add() method > given a > >> > specific type of argument, but everytime I specify the argument type > the > >> > pointcut fails to advise. > >> > > >> > Given the following code: > >> > List<String> x = new ArrayList<String>(); > >> > x.add("Some String)"; > >> > > >> > This works: > >> > > >> > pointcut addEntity(): call( * java.util.Collection+.add( * )); > >> > > >> > However, this does not: > >> > > >> > pointcut addEntity(): call( * java.util.Collection+.add( > java.util.String > >> > )); > >> > > >> > > >> > Is there a specific reason why I cannot specify the type of argument > I want > >> > to advise against? > _______________________________________________ > aspectj-users mailing list > aspectj-users@eclipse.org > To change your delivery options, retrieve your password, or unsubscribe > from this list, visit > https://dev.eclipse.org/mailman/listinfo/aspectj-users >
_______________________________________________ aspectj-users mailing list aspectj-users@eclipse.org To change your delivery options, retrieve your password, or unsubscribe from this list, visit https://dev.eclipse.org/mailman/listinfo/aspectj-users