You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by hl...@apache.org on 2010/02/19 19:53:47 UTC

svn commit: r911920 - in /tapestry/tapestry5/trunk/tapestry-core/src/main/java/org/apache/tapestry5: internal/services/InternalClassTransformationImpl.java services/ClassTransformation.java

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