Author: bayard
Date: Mon Mar 22 06:22:28 2010
New Revision: 925970

URL: http://svn.apache.org/viewvc?rev=925970&view=rev
Log:
Vararging constructor methods; much like the method ones were in MethodUtils. 
LANG-396

Modified:
    
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java

Modified: 
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java
URL: 
http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java?rev=925970&r1=925969&r2=925970&view=diff
==============================================================================
--- 
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java
 (original)
+++ 
commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java
 Mon Mar 22 06:22:28 2010
@@ -65,30 +65,6 @@ public class ConstructorUtils {
     }
 
     /**
-     * <p>Convenience method returning new instance of <code>klazz</code> 
using a single argument constructor.
-     * The formal parameter type is inferred from the actual values of 
<code>arg</code>.
-     * See {...@link #invokeExactConstructor(Class, Object[], Class[])} for 
more details.</p>
-     *
-     * <p>The signatures should be assignment compatible.</p>
-     *
-     * @param cls the class to be constructed.
-     * @param arg the actual argument
-     * @return new instance of <code>klazz</code>
-     *
-     * @throws NoSuchMethodException If the constructor cannot be found
-     * @throws IllegalAccessException If an error occurs accessing the 
constructor
-     * @throws InvocationTargetException If an error occurs invoking the 
constructor
-     * @throws InstantiationException If an error occurs instantiating the 
class
-     *
-     * @see #invokeConstructor(java.lang.Class, java.lang.Object[], 
java.lang.Class[])
-     */
-    public static <T> T invokeConstructor(Class<T> cls, Object arg)
-            throws NoSuchMethodException, IllegalAccessException,
-            InvocationTargetException, InstantiationException {
-        return invokeConstructor(cls, new Object[] { arg });
-    }
-
-    /**
      * <p>Returns new instance of <code>klazz</code> created using the actual 
arguments <code>args</code>.
      * The formal parameter types are inferred from the actual values of 
<code>args</code>.
      * See {...@link #invokeExactConstructor(Class, Object[], Class[])} for 
more details.</p>
@@ -106,7 +82,7 @@ public class ConstructorUtils {
      *
      * @see #invokeConstructor(java.lang.Class, java.lang.Object[], 
java.lang.Class[])
      */
-    public static <T> T invokeConstructor(Class<T> cls, Object[] args)
+    public static <T> T invokeConstructor(Class<T> cls, Object... args)
             throws NoSuchMethodException, IllegalAccessException,
             InvocationTargetException, InstantiationException {
         if (null == args) {
@@ -156,30 +132,6 @@ public class ConstructorUtils {
     }
 
     /**
-     * <p>Convenience method returning new instance of <code>klazz</code> 
using a single argument constructor.
-     * The formal parameter type is inferred from the actual values of 
<code>arg</code>.
-     * See {...@link #invokeExactConstructor(Class, Object[], Class[])} for 
more details.</p>
-     *
-     * <p>The signatures should match exactly.</p>
-     *
-     * @param cls the class to be constructed.
-     * @param arg the actual argument
-     * @return new instance of <code>klazz</code>
-     *
-     * @throws NoSuchMethodException If the constructor cannot be found
-     * @throws IllegalAccessException If an error occurs accessing the 
constructor
-     * @throws InvocationTargetException If an error occurs invoking the 
constructor
-     * @throws InstantiationException If an error occurs instantiating the 
class
-     *
-     * @see #invokeExactConstructor(java.lang.Class, java.lang.Object[], 
java.lang.Class[])
-     */
-    public static <T> T invokeExactConstructor(Class<T> cls, Object arg)
-            throws NoSuchMethodException, IllegalAccessException,
-            InvocationTargetException, InstantiationException {
-        return invokeExactConstructor(cls, new Object[] { arg });
-    }
-
-    /**
      * <p>Returns new instance of <code>klazz</code> created using the actual 
arguments <code>args</code>.
      * The formal parameter types are inferred from the actual values of 
<code>args</code>.
      * See {...@link #invokeExactConstructor(Class, Object[], Class[])} for 
more details.</p>
@@ -197,7 +149,7 @@ public class ConstructorUtils {
      *
      * @see #invokeExactConstructor(java.lang.Class, java.lang.Object[], 
java.lang.Class[])
      */
-    public static <T> T invokeExactConstructor(Class<T> cls, Object[] args)
+    public static <T> T invokeExactConstructor(Class<T> cls, Object... args)
             throws NoSuchMethodException, IllegalAccessException,
             InvocationTargetException, InstantiationException {
         if (null == args) {
@@ -249,19 +201,6 @@ public class ConstructorUtils {
     }
 
     /**
-     * Returns a constructor with single argument.
-     * @param cls the class to be constructed
-     * @param parameterType The constructor parameter type
-     * @return null if matching accessible constructor can not be found.
-     * @see Class#getConstructor
-     * @see #getAccessibleConstructor(java.lang.reflect.Constructor)
-     */
-    public static <T> Constructor<T> getAccessibleConstructor(Class<T> cls,
-            Class<?> parameterType) {
-        return getAccessibleConstructor(cls, new Class[] { parameterType });
-    }
-
-    /**
      * Returns a constructor given a class and signature.
      * @param cls the class to be constructed
      * @param parameterTypes the parameter array
@@ -270,7 +209,7 @@ public class ConstructorUtils {
      * @see #getAccessibleConstructor(java.lang.reflect.Constructor)
      */
     public static <T> Constructor<T> getAccessibleConstructor(Class<T> cls,
-            Class<?>[] parameterTypes) {
+            Class<?>... parameterTypes) {
         try {
             return 
getAccessibleConstructor(cls.getConstructor(parameterTypes));
         } catch (NoSuchMethodException e) {
@@ -307,7 +246,7 @@ public class ConstructorUtils {
      */
     @SuppressWarnings("unchecked")
     public static <T> Constructor<T> getMatchingAccessibleConstructor(Class<T> 
cls,
-            Class<?>[] parameterTypes) {
+            Class<?>... parameterTypes) {
         // see if we can find the constructor directly
         // most of the time this works and it's much faster
         try {


Reply via email to