Author: hlship
Date: Fri Feb 19 18:53:09 2010
New Revision: 911908

URL: http://svn.apache.org/viewvc?rev=911908&view=rev
Log:
Add isOverride() method to TransformMethod, replacing 
ClassTransformation.isMethodOverride()

Modified:
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalClassTransformationImpl.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ClassTransformation.java
    
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TransformMethod.java

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalClassTransformationImpl.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalClassTransformationImpl.java?rev=911908&r1=911907&r2=911908&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalClassTransformationImpl.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/internal/services/InternalClassTransformationImpl.java
 Fri Feb 19 18:53:09 2010
@@ -88,6 +88,8 @@
 
         private String identifier;
 
+        private Boolean override;
+
         TransformMethodImpl(CtMethod method, boolean added)
         {
             this.method = method;
@@ -328,6 +330,31 @@
             return identifier;
         }
 
+        public boolean isOverride()
+        {
+            if (override == null)
+                override = searchForOverride();
+
+            return override;
+        }
+
+        private boolean searchForOverride()
+        {
+            InternalClassTransformation search = parentTransformation;
+
+            while (search != null)
+            {
+                if (search.isMethod(sig))
+                    return true;
+
+                search = search.getParentTransformation();
+            }
+
+            // Not found in any super-class.
+
+            return false;
+        }
+
         void doFinish()
         {
             if (builder != null)
@@ -1678,24 +1705,11 @@
 
     public boolean isMethodOverride(TransformMethodSignature methodSignature)
     {
-        Defense.notNull(methodSignature, "methodSignature");
-
         if (!isMethod(methodSignature))
             throw new IllegalArgumentException(String.format("Method %s is not 
implemented by transformed class %s.",
                     methodSignature, getClassName()));
 
-        InternalClassTransformation search = parentTransformation;
-        while (search != null)
-        {
-            if (search.isMethod(methodSignature))
-                return true;
-
-            search = search.getParentTransformation();
-        }
-
-        // Not found in any super-class.
-
-        return false;
+        return getMethod(methodSignature).isOverride();
     }
 
     public InternalClassTransformation getParentTransformation()

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ClassTransformation.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ClassTransformation.java?rev=911908&r1=911907&r2=911908&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ClassTransformation.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/ClassTransformation.java
 Fri Feb 19 18:53:09 2010
@@ -540,6 +540,7 @@
      * @param methodSignature
      *            signature of method to check
      * @return true if the parent class contains a method with the name 
signature
+     * @deprecated Use {...@link TransformMethod#isOverride()} instead
      */
     boolean isMethodOverride(TransformMethodSignature methodSignature);
 

Modified: 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TransformMethod.java
URL: 
http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TransformMethod.java?rev=911908&r1=911907&r2=911908&view=diff
==============================================================================
--- 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TransformMethod.java
 (original)
+++ 
tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5/services/TransformMethod.java
 Fri Feb 19 18:53:09 2010
@@ -83,4 +83,11 @@
      */
     String getMethodIdentifier();
 
+    /**
+     * Returns true if the method is an override of a method from the parent 
class.
+     * 
+     * @return true if the parent class contains a method with the name 
signature
+     */
+    boolean isOverride();
+
 }


Reply via email to