import org.jboss.aop.Advisor; import org.jboss.aop.InstanceAdvisor; import org.jboss.aop.joinpoint.Invocation; import org.jboss.aop.joinpoint.Joinpoint; /* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ /** * * @author Kabir Khan * @version $Revision: 1.1 $ */ public class ConfigAspectPerJoinpoint { String[] attr1; Advisor advisor; InstanceAdvisor instanceAdvisor; Joinpoint jp; public ConfigAspectPerJoinpoint() { } public void setAttr(String[] attr1) { this.attr1 = attr1; } public void setMyAdvisor(Advisor advisor) { this.advisor = advisor; } public void setMyInstanceAdvisor(InstanceAdvisor instanceAdvisor) { this.instanceAdvisor = instanceAdvisor; } public void setMyJoinpoint(Joinpoint jp) { this.jp = jp; } public Object methodAdvice(Invocation invocation) throws Throwable { try { System.out.println("<<< Enter ConfigAspectPerJoinpoint"); StringBuffer sb = new StringBuffer(); for (int i = 0 ; i < attr1.length ; i++) { if (i > 0) { sb.append(", "); } sb.append("index " + i + "=" + attr1[i]); } String attr1ArrayAsString = sb.toString(); System.out.println(" attr1: " + attr1ArrayAsString); System.out.println(" has advisor: " + (advisor != null)); System.out.println(" has instanceAdvisor: " + (instanceAdvisor != null)); System.out.println(" has joinpoint: " + (jp != null)); return invocation.invokeNext(); } finally { System.out.println(">>> Leave ConfigAspectPerJoinpoint"); } } }