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();
+
}