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.
      * 


Reply via email to