LANG-493 - Remove allElementsOfType as generics handles this pretty well now
git-svn-id: https://svn.apache.org/repos/asf/commons/proper/lang/trunk@831709 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
dab4ca0812
commit
928950c9bf
|
@ -550,63 +550,6 @@ public class Validate {
|
|||
return collection;
|
||||
}
|
||||
|
||||
// allElementsOfType collection
|
||||
//---------------------------------------------------------------------------------
|
||||
|
||||
/**
|
||||
* <p>Validate an argument, throwing <code>IllegalArgumentException</code>
|
||||
* if the argument collection is <code>null</code> or has elements that
|
||||
* are not of type <code>clazz</code> or a subclass.</p>
|
||||
*
|
||||
* <pre>
|
||||
* Validate.allElementsOfType(collection, String.class, "Collection has invalid elements");
|
||||
* </pre>
|
||||
*
|
||||
* @param collection the collection to check, not null
|
||||
* @param clazz the <code>Class</code> which the collection's elements are expected to be, not null
|
||||
* @param message the exception message if the <code>Collection</code> has elements not of type <code>clazz</code>
|
||||
* @since 2.1
|
||||
*/
|
||||
public static void allElementsOfType(Collection<?> collection, Class<?> clazz, String message) {
|
||||
Validate.notNull(collection);
|
||||
Validate.notNull(clazz);
|
||||
for (Iterator<?> it = collection.iterator(); it.hasNext(); ) {
|
||||
if (clazz.isInstance(it.next()) == false) {
|
||||
throw new IllegalArgumentException(message);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* <p>
|
||||
* Validate an argument, throwing <code>IllegalArgumentException</code> if the argument collection is
|
||||
* <code>null</code> or has elements that are not of type <code>clazz</code> or a subclass.
|
||||
* </p>
|
||||
*
|
||||
* <pre>
|
||||
* Validate.allElementsOfType(collection, String.class);
|
||||
* </pre>
|
||||
*
|
||||
* <p>
|
||||
* The message in the exception is 'The validated collection contains an element not of type clazz at index: '.
|
||||
* </p>
|
||||
*
|
||||
* @param collection the collection to check, not null
|
||||
* @param clazz the <code>Class</code> which the collection's elements are expected to be, not null
|
||||
* @since 2.1
|
||||
*/
|
||||
public static void allElementsOfType(Collection<?> collection, Class<?> clazz) {
|
||||
Validate.notNull(collection);
|
||||
Validate.notNull(clazz);
|
||||
int i = 0;
|
||||
for (Iterator<?> it = collection.iterator(); it.hasNext(); i++) {
|
||||
if (clazz.isInstance(it.next()) == false) {
|
||||
throw new IllegalArgumentException("The validated collection contains an element not of type "
|
||||
+ clazz.getName() + " at index: " + i);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// validIndex array
|
||||
//---------------------------------------------------------------------------------
|
||||
|
||||
|
|
|
@ -624,46 +624,6 @@ public class ValidateTest extends TestCase {
|
|||
assertSame(coll, test);
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------
|
||||
public void testAllElementsOfType() {
|
||||
List<Object> coll = new ArrayList<Object>();
|
||||
coll.add("a");
|
||||
coll.add("b");
|
||||
Validate.allElementsOfType(coll, String.class, "MSG");
|
||||
Validate.allElementsOfType(coll, String.class);
|
||||
try {
|
||||
Validate.allElementsOfType(coll, Integer.class, "MSG");
|
||||
fail("Expecting IllegalArgumentException");
|
||||
} catch (IllegalArgumentException ex) {
|
||||
assertEquals("MSG", ex.getMessage());
|
||||
}
|
||||
coll.set(1, Boolean.FALSE);
|
||||
try {
|
||||
Validate.allElementsOfType(coll, String.class);
|
||||
fail("Expecting IllegalArgumentException");
|
||||
} catch (IllegalArgumentException ex) {
|
||||
assertEquals("The validated collection contains an element not of type java.lang.String at index: 1", ex.getMessage());
|
||||
}
|
||||
|
||||
coll = new ArrayList<Object>();
|
||||
coll.add(new Integer(5));
|
||||
coll.add(new Double(2.0d));
|
||||
Validate.allElementsOfType(coll, Number.class, "MSG");
|
||||
try {
|
||||
Validate.allElementsOfType(coll, Integer.class, "MSG");
|
||||
fail("Expecting IllegalArgumentException");
|
||||
} catch (IllegalArgumentException ex) {
|
||||
assertEquals("MSG", ex.getMessage());
|
||||
}
|
||||
try {
|
||||
Validate.allElementsOfType(coll, Double.class, "MSG");
|
||||
fail("Expecting IllegalArgumentException");
|
||||
} catch (IllegalArgumentException ex) {
|
||||
assertEquals("MSG", ex.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
//-----------------------------------------------------------------------
|
||||
//-----------------------------------------------------------------------
|
||||
public void testConstructor() {
|
||||
|
|
Loading…
Reference in New Issue