[jboss-cvs] JBossAS SVN: r76631 - projects/jboss-aspects/trunk/remoting/src/main/java/org/jboss/aspects/remoting.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Aug 5 00:58:53 EDT 2008
Author: ALRubinger
Date: 2008-08-05 00:58:52 -0400 (Tue, 05 Aug 2008)
New Revision: 76631
Modified:
projects/jboss-aspects/trunk/remoting/src/main/java/org/jboss/aspects/remoting/PojiProxy.java
Log:
Further extract out logic in PojiProxy for overriding by subclasses
Modified: projects/jboss-aspects/trunk/remoting/src/main/java/org/jboss/aspects/remoting/PojiProxy.java
===================================================================
--- projects/jboss-aspects/trunk/remoting/src/main/java/org/jboss/aspects/remoting/PojiProxy.java 2008-08-05 04:22:55 UTC (rev 76630)
+++ projects/jboss-aspects/trunk/remoting/src/main/java/org/jboss/aspects/remoting/PojiProxy.java 2008-08-05 04:58:52 UTC (rev 76631)
@@ -23,6 +23,7 @@
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
+
import org.jboss.aop.Dispatcher;
import org.jboss.aop.advice.Interceptor;
import org.jboss.aop.joinpoint.MethodInvocation;
@@ -41,24 +42,26 @@
private static final long serialVersionUID = 8054816523858555978L;
private Object oid;
+
private InvokerLocator uri;
+
private Interceptor[] interceptors;
public PojiProxy(Object oid, InvokerLocator uri, Interceptor[] interceptors)
{
this.oid = oid;
this.uri = uri;
- this.interceptors = interceptors;
+ this.interceptors = interceptors;
}
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable
{
MethodInvocation sri = this.constructMethodInvocation(method, args);
- sri.setArguments(args);
this.addMetadataToInvocation(sri);
+ this.addArgumentsToInvocation(sri, args);
return sri.invokeNext();
}
-
+
/**
* Constructs a MethodInvocation from the specified Method and
* arguments
@@ -73,7 +76,7 @@
MethodInvocation sri = new MethodInvocation(interceptors, hash, method, method, null);
return sri;
}
-
+
/**
* Adds metadata to the specified MethodInvocation before
* invocation is called. Extracted to allow subclasses to control
@@ -90,9 +93,22 @@
"AOP", PayloadKey.AS_IS);
}
+ /**
+ * Sets the specified arguments on the specified invocation. Extracted to
+ * provide indirection such that the arguments set on the invocation may be
+ * different from those originally passed in.
+ *
+ * @param invocation
+ * @param originalArguments
+ */
+ protected void addArgumentsToInvocation(MethodInvocation invocation, Object[] originalArguments)
+ {
+ invocation.setArguments(originalArguments);
+ }
+
protected Interceptor[] getInterceptors()
{
return interceptors;
}
-
+
}
More information about the jboss-cvs-commits
mailing list