You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by ba...@apache.org on 2007/11/13 03:38:50 UTC
svn commit: r594396 - in /commons/proper/lang/trunk/src:
java/org/apache/commons/lang/ArrayUtils.java
test/org/apache/commons/lang/ArrayUtilsTest.java
Author: bayard
Date: Mon Nov 12 18:38:48 2007
New Revision: 594396
URL: http://svn.apache.org/viewvc?rev=594396&view=rev
Log:
Applying Dave Meikle's patch to LANG-333; adding a toClass(Object[]);Class[] method to ArrayUtils
Modified:
commons/proper/lang/trunk/src/java/org/apache/commons/lang/ArrayUtils.java
commons/proper/lang/trunk/src/test/org/apache/commons/lang/ArrayUtilsTest.java
Modified: commons/proper/lang/trunk/src/java/org/apache/commons/lang/ArrayUtils.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/java/org/apache/commons/lang/ArrayUtils.java?rev=594396&r1=594395&r2=594396&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/java/org/apache/commons/lang/ArrayUtils.java (original)
+++ commons/proper/lang/trunk/src/java/org/apache/commons/lang/ArrayUtils.java Mon Nov 12 18:38:48 2007
@@ -4413,5 +4413,27 @@
return result;
}
-
+
+ /**
+ * <p>Converts an array of <code>Object</code> in to an Array of <code>Class</code> objects.</p>
+ *
+ * <p>This method returns <code>null</code> for a <code>null</code> input array.</p>
+ *
+ * @param array an <code>Object</code> array
+ * @return a <code>Class</code> array, <code>null</code> if null array input
+ */
+ public static Class[] toClass(Object[] array)
+ {
+ if (array == null) {
+ return null;
+ } else if (array.length == 0) {
+ return EMPTY_CLASS_ARRAY;
+ }
+ Class[] classes = new Class[array.length];
+ for (int i = 0; i < array.length; i++) {
+ classes[i] = array[i].getClass();
+ }
+ return classes;
+ }
+
}
Modified: commons/proper/lang/trunk/src/test/org/apache/commons/lang/ArrayUtilsTest.java
URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/test/org/apache/commons/lang/ArrayUtilsTest.java?rev=594396&r1=594395&r2=594396&view=diff
==============================================================================
--- commons/proper/lang/trunk/src/test/org/apache/commons/lang/ArrayUtilsTest.java (original)
+++ commons/proper/lang/trunk/src/test/org/apache/commons/lang/ArrayUtilsTest.java Mon Nov 12 18:38:48 2007
@@ -2420,6 +2420,24 @@
new double[] { Double.MIN_VALUE, Double.MAX_VALUE, 9999999 })));
}
+ public void testToClass_object() {
+ assertEquals(null, ArrayUtils.toClass(null));
+
+ assertSame(
+ ArrayUtils.EMPTY_CLASS_ARRAY,
+ ArrayUtils.toClass(new Class[0]));
+
+ Object[] array = new Object[3];
+ array[0] = new String("Test");
+ array[1] = new Integer(1);
+ array[2] = new Double(99);
+
+ Class[] results = ArrayUtils.toClass(array);
+ assertEquals("String", results[0].getSimpleName());
+ assertEquals("Integer", results[1].getSimpleName());
+ assertEquals("Double", results[2].getSimpleName());
+ }
+
//-----------------------------------------------------------------------
/**
* Test for {@link ArrayUtils#isEmpty(java.lang.Object[])}.