[jboss-cvs] JBossAS SVN: r70724 - projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop.
jboss-cvs-commits at lists.jboss.org
jboss-cvs-commits at lists.jboss.org
Tue Mar 11 00:46:19 EDT 2008
Author: flavia.rainone at jboss.com
Date: 2008-03-11 00:46:19 -0400 (Tue, 11 Mar 2008)
New Revision: 70724
Modified:
projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/ConByConInfo.java
projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/ConByMethodInfo.java
projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/ConstructionInfo.java
projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/ConstructorInfo.java
projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/FieldInfo.java
projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/JoinPointInfo.java
projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/MethodByConInfo.java
projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/MethodByMethodInfo.java
projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/MethodInfo.java
Log:
[JBAOP-502] Added "boolean matches(Pointcut)" method to JoinPointInfo, in order to avoid a sequence of if/else blocks when a matching is needed.
Modified: projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/ConByConInfo.java
===================================================================
--- projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/ConByConInfo.java 2008-03-11 04:43:52 UTC (rev 70723)
+++ projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/ConByConInfo.java 2008-03-11 04:46:19 UTC (rev 70724)
@@ -28,6 +28,7 @@
import org.jboss.aop.joinpoint.ConstructorCallByConstructor;
import org.jboss.aop.joinpoint.ConstructorCalledByConstructorJoinpoint;
import org.jboss.aop.joinpoint.Joinpoint;
+import org.jboss.aop.pointcut.Pointcut;
/**
*
@@ -97,4 +98,9 @@
{
return calling;
}
+
+ public boolean matches(Pointcut pointcut)
+ {
+ return pointcut.matchesCall(getAdvisor(), calling, getCalledClass(), getConstructor());
+ }
}
Modified: projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/ConByMethodInfo.java
===================================================================
--- projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/ConByMethodInfo.java 2008-03-11 04:43:52 UTC (rev 70723)
+++ projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/ConByMethodInfo.java 2008-03-11 04:46:19 UTC (rev 70724)
@@ -25,10 +25,10 @@
import java.lang.reflect.Method;
import org.jboss.aop.advice.Interceptor;
+import org.jboss.aop.joinpoint.ConstructorCallByMethod;
import org.jboss.aop.joinpoint.ConstructorCalledByMethodJoinpoint;
-import org.jboss.aop.joinpoint.ConstructorCallByMethod;
import org.jboss.aop.joinpoint.Joinpoint;
-import org.jboss.aop.util.MethodHashing;
+import org.jboss.aop.pointcut.Pointcut;
/**
*
@@ -93,4 +93,9 @@
{
return callingMethod;
}
+
+ public boolean matches(Pointcut pointcut)
+ {
+ return pointcut.matchesCall(getAdvisor(), callingMethod, getCalledClass(), getConstructor());
+ }
}
Modified: projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/ConstructionInfo.java
===================================================================
--- projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/ConstructionInfo.java 2008-03-11 04:43:52 UTC (rev 70723)
+++ projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/ConstructionInfo.java 2008-03-11 04:46:19 UTC (rev 70724)
@@ -23,9 +23,10 @@
import java.lang.reflect.Constructor;
+import org.jboss.aop.joinpoint.Construction;
import org.jboss.aop.joinpoint.ConstructorJoinpoint;
-import org.jboss.aop.joinpoint.Construction;
import org.jboss.aop.joinpoint.Joinpoint;
+import org.jboss.aop.pointcut.Pointcut;
import org.jboss.aop.util.MethodHashing;
/**
@@ -121,4 +122,9 @@
return null;
}
-}
+
+ public boolean matches(Pointcut pointcut)
+ {
+ return pointcut.matchesConstruction(getAdvisor(), constructor);
+ }
+}
\ No newline at end of file
Modified: projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/ConstructorInfo.java
===================================================================
--- projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/ConstructorInfo.java 2008-03-11 04:43:52 UTC (rev 70723)
+++ projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/ConstructorInfo.java 2008-03-11 04:46:19 UTC (rev 70724)
@@ -24,9 +24,10 @@
import java.lang.reflect.Constructor;
import java.lang.reflect.Method;
+import org.jboss.aop.joinpoint.ConstructorExecution;
import org.jboss.aop.joinpoint.ConstructorJoinpoint;
-import org.jboss.aop.joinpoint.ConstructorExecution;
import org.jboss.aop.joinpoint.Joinpoint;
+import org.jboss.aop.pointcut.Pointcut;
import org.jboss.aop.util.MethodHashing;
/**
@@ -132,5 +133,9 @@
return null;
}
-
-}
+
+ public boolean matches(Pointcut pointcut)
+ {
+ return pointcut.matchesExecution(getAdvisor(), constructor);
+ }
+}
\ No newline at end of file
Modified: projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/FieldInfo.java
===================================================================
--- projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/FieldInfo.java 2008-03-11 04:43:52 UTC (rev 70723)
+++ projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/FieldInfo.java 2008-03-11 04:46:19 UTC (rev 70724)
@@ -27,9 +27,10 @@
import java.security.PrivilegedActionException;
import java.security.PrivilegedExceptionAction;
+import org.jboss.aop.joinpoint.FieldAccess;
import org.jboss.aop.joinpoint.FieldJoinpoint;
-import org.jboss.aop.joinpoint.FieldAccess;
import org.jboss.aop.joinpoint.Joinpoint;
+import org.jboss.aop.pointcut.Pointcut;
import org.jboss.aop.util.MethodHashing;
/**
@@ -233,4 +234,12 @@
};
}
-}
+ public boolean matches(Pointcut pointcut)
+ {
+ if (this.read)
+ {
+ return pointcut.matchesGet(getAdvisor(), advisedField);
+ }
+ return pointcut.matchesSet(getAdvisor(), advisedField);
+ }
+}
\ No newline at end of file
Modified: projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/JoinPointInfo.java
===================================================================
--- projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/JoinPointInfo.java 2008-03-11 04:43:52 UTC (rev 70723)
+++ projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/JoinPointInfo.java 2008-03-11 04:46:19 UTC (rev 70724)
@@ -29,6 +29,7 @@
import org.jboss.aop.advice.Interceptor;
import org.jboss.aop.joinpoint.JoinPointBean;
import org.jboss.aop.joinpoint.Joinpoint;
+import org.jboss.aop.pointcut.Pointcut;
public abstract class JoinPointInfo implements JoinPointBean
{
@@ -245,6 +246,8 @@
return adviceString;
}
+ public abstract boolean matches(Pointcut pointcut);
+
public final ReentrantReadWriteLock getInterceptorChainReadWriteLock()
{
return this.interceptorChainLock;
Modified: projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/MethodByConInfo.java
===================================================================
--- projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/MethodByConInfo.java 2008-03-11 04:43:52 UTC (rev 70723)
+++ projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/MethodByConInfo.java 2008-03-11 04:46:19 UTC (rev 70724)
@@ -22,13 +22,13 @@
package org.jboss.aop;
import java.lang.reflect.Constructor;
-import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import org.jboss.aop.advice.Interceptor;
+import org.jboss.aop.joinpoint.Joinpoint;
import org.jboss.aop.joinpoint.MethodCallByConstructor;
-import org.jboss.aop.joinpoint.Joinpoint;
import org.jboss.aop.joinpoint.MethodCalledByConstructorJoinpoint;
+import org.jboss.aop.pointcut.Pointcut;
/**
*
@@ -99,4 +99,9 @@
{
return calling;
}
+
+ public boolean matches(Pointcut pointcut)
+ {
+ return pointcut.matchesCall(getAdvisor(), calling, getCalledClass(), getMethod());
+ }
}
Modified: projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/MethodByMethodInfo.java
===================================================================
--- projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/MethodByMethodInfo.java 2008-03-11 04:43:52 UTC (rev 70723)
+++ projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/MethodByMethodInfo.java 2008-03-11 04:46:19 UTC (rev 70724)
@@ -24,10 +24,10 @@
import java.lang.reflect.Method;
import org.jboss.aop.advice.Interceptor;
+import org.jboss.aop.joinpoint.Joinpoint;
import org.jboss.aop.joinpoint.MethodCallByMethod;
-import org.jboss.aop.joinpoint.Joinpoint;
import org.jboss.aop.joinpoint.MethodCalledByMethodJoinpoint;
-import org.jboss.aop.util.MethodHashing;
+import org.jboss.aop.pointcut.Pointcut;
/**
*
@@ -85,4 +85,9 @@
{
return callingMethod;
}
+
+ public boolean matches(Pointcut pointcut)
+ {
+ return pointcut.matchesCall(getAdvisor(), callingMethod, getCalledClass(), getMethod());
+ }
}
Modified: projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/MethodInfo.java
===================================================================
--- projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/MethodInfo.java 2008-03-11 04:43:52 UTC (rev 70723)
+++ projects/aop/branches/joinpoint_graph/aop/src/main/org/jboss/aop/MethodInfo.java 2008-03-11 04:46:19 UTC (rev 70724)
@@ -21,13 +21,14 @@
*/
package org.jboss.aop;
+import java.lang.reflect.Method;
+
+import org.jboss.aop.joinpoint.Joinpoint;
import org.jboss.aop.joinpoint.MethodExecution;
-import org.jboss.aop.joinpoint.Joinpoint;
import org.jboss.aop.joinpoint.MethodJoinpoint;
+import org.jboss.aop.pointcut.Pointcut;
import org.jboss.aop.util.MethodHashing;
-import java.lang.reflect.Method;
-
/**
* This class is here to eliminate a hash lookup in invokeMethod
*/
@@ -137,4 +138,9 @@
}
return null;
}
-}
+
+ public boolean matches(Pointcut pointcut)
+ {
+ return pointcut.matchesExecution(getAdvisor(), advisedMethod).isMatch();
+ }
+}
\ No newline at end of file
More information about the jboss-cvs-commits
mailing list