Author: hlship
Date: Fri Feb 19 18:53:47 2010
New Revision: 911920
URL: http://svn.apache.org/viewvc?rev=911920&view=rev
Log:
Add matchMethodsWithAnnotation() to ClassTransformation
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
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=911920&r1=911919&r2=911920&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:47 2010
@@ -1608,13 +1608,24 @@
return toMethodSignatures(methods);
}
- public List<TransformMethod> matchMethods(final Predicate<TransformMethod>
predicate)
+ public List<TransformMethod> matchMethods(Predicate<TransformMethod>
predicate)
{
failIfFrozen();
return InternalUtils.matchAndSort(methods.values(), predicate);
}
+ public List<TransformMethod> matchMethodsWithAnnotation(final Class<?
extends Annotation> annotationType)
+ {
+ return matchMethods(new Predicate<TransformMethod>()
+ {
+ public boolean accept(TransformMethod method)
+ {
+ return method.getAnnotation(annotationType) != null;
+ }
+ });
+ }
+
private TransformMethodSignature toMethodSignature(CtMethod method)
{
try
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=911920&r1=911919&r2=911920&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:47 2010
@@ -133,6 +133,16 @@
List<TransformMethod> matchMethods(Predicate<TransformMethod> predicate);
/**
+ * Finds all methods matched by the provided predicate.
+ *
+ * @param annotationType
+ * Used to filter the list
+ * @return a list of matching methods (which may be empty) in ascending
order (by
+ * method name), but descending order (by parameter count) within
overrides of a single method name.
+ */
+ List<TransformMethod> matchMethodsWithAnnotation(Class<? extends
Annotation> annotationType);
+
+ /**
* Finds all unclaimed fields matched by the provided filter. Only
considers private instance
* fields.
*