[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