import org.aspectj.testing.Tester; public aspect WildNames { public static void main(String[] args) { test(); } public static void test() { C c = new C(); c.getFoo(); c.getBar(); Tester.check("getFoo"); Tester.check("getBar"); c.fooGetter(); c.barGetter(); Tester.check("fooGetter"); Tester.check("barGetter"); c.prefixFooSuffix(); c.prefixBarSuffix(); Tester.check("prefixFooSuffix"); Tester.check("prefixBarSuffix"); } /*static*/ after() returning (String s): execution(String get*()) { Tester.checkEqual("get*", s); Tester.note(thisJoinPoint.getSignature().getName()); } /*static*/ after() returning (String s): execution(String *Getter()) { Tester.checkEqual("*Getter", s); Tester.note(thisJoinPoint.getSignature().getName()); } /*static*/ after() returning (String s): execution(String prefix*Suffix()) { Tester.checkEqual("prefix*Suffix", s); Tester.note(thisJoinPoint.getSignature().getName()); } } class C { public String getFoo() { return "get*"; } public String getBar() { return "get*"; } public String fooGetter() { return "*Getter"; } public String barGetter() { return "*Getter"; } public String prefixFooSuffix() { return "prefix*Suffix"; } public String prefixBarSuffix() { return "prefix*Suffix"; } }