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 2011/04/22 03:36:49 UTC

svn commit: r1095851 - in /tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5: internal/plastic/PlasticClassImpl.java plastic/PlasticUtils.java

Author: hlship
Date: Fri Apr 22 01:36:49 2011
New Revision: 1095851

URL: http://svn.apache.org/viewvc?rev=1095851&view=rev
Log:
TAP5-853: Expose a useful method for obtaining a public Method from a Class

Modified:
    tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java
    tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java

Modified: tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java?rev=1095851&r1=1095850&r2=1095851&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java (original)
+++ tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/internal/plastic/PlasticClassImpl.java Fri Apr 22 01:36:49 2011
@@ -111,14 +111,7 @@ public class PlasticClassImpl extends Lo
 
     private static Method toMethod(Class declaringClass, String methodName, Class... parameterTypes)
     {
-        try
-        {
-            return declaringClass.getMethod(methodName, parameterTypes);
-        }
-        catch (Exception ex)
-        {
-            throw new RuntimeException(ex);
-        }
+        return PlasticUtils.getMethod(declaringClass, methodName, parameterTypes);
     }
 
     private class PlasticMember implements AnnotationAccess

Modified: tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java
URL: http://svn.apache.org/viewvc/tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java?rev=1095851&r1=1095850&r2=1095851&view=diff
==============================================================================
--- tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java (original)
+++ tapestry/tapestry5/trunk/plastic/src/main/java/org/apache/tapestry5/plastic/PlasticUtils.java Fri Apr 22 01:36:49 2011
@@ -14,6 +14,7 @@
 
 package org.apache.tapestry5.plastic;
 
+import java.lang.reflect.Method;
 import java.util.concurrent.atomic.AtomicLong;
 
 import org.apache.tapestry5.internal.plastic.PrimitiveType;
@@ -77,4 +78,30 @@ public class PlasticUtils
 
         return type.isPrimitive() ? PrimitiveType.getByPrimitiveType(type).wrapperType : type;
     }
+
+    /**
+     * Convenience for getting a method from a class.
+     * 
+     * @param declaringClass
+     *            containing class
+     * @param name
+     *            name of method
+     * @param parameterTypes
+     *            types of parameters
+     * @return the Method
+     * @throws RuntimeException
+     *             if any error (such as method not found)
+     */
+    @SuppressWarnings("unchecked")
+    public static Method getMethod(Class declaringClass, String name, Class... parameterTypes)
+    {
+        try
+        {
+            return declaringClass.getMethod(name, parameterTypes);
+        }
+        catch (Exception ex)
+        {
+            throw new RuntimeException(ex);
+        }
+    }
 }