Package org.apache.commons.lang

# Class Validate

java.lang.Object
org.apache.commons.lang.Validate

public class Validate extends Object

This class assists in validating arguments.

The class is based along the lines of JUnit. If an argument value is deemed invalid, an IllegalArgumentException is thrown. For example:

     Validate.isTrue( i > 0, "The value must be greater than zero: ", i);
     Validate.notNull( surname, "The surname must not be null");

Since:
  2.0
Version:
  $Id: Validate.java 1057051 2011-01-09 23:15:51Z sebb $

## Constructor Summary

Constructors
Constructor
Description
`Validate()`
Constructor.

## Method Summary

Modifier and Type
Method
Description
`static void`
`allElementsOfType(Collection collection, Class clazz)`
Validate an argument, throwing `IllegalArgumentException` if the argument collection is `null` or has elements that are not of type `clazz` or a subclass.
`static void`
`allElementsOfType(Collection collection, Class clazz, String message)`
Validate an argument, throwing `IllegalArgumentException` if the argument collection is `null` or has elements that are not of type `clazz` or a subclass.
`static void`
`isTrue(boolean expression)`
Validate that the argument condition is `true`; otherwise throwing an exception.
`static void`
`isTrue(boolean expression, String message)`
Validate that the argument condition is `true`; otherwise throwing an exception with the specified message.
`static void`
`isTrue(boolean expression, String message, double value)`
Validate that the argument condition is `true`; otherwise throwing an exception with the specified message.
`static void`
`isTrue(boolean expression, String message, long value)`
Validate that the argument condition is `true`; otherwise throwing an exception with the specified message.
`static void`
`isTrue(boolean expression, String message, Object value)`
Validate that the argument condition is `true`; otherwise throwing an exception with the specified message.
`static void`
`noNullElements(Object[] array)`
Validate that the specified argument array is neither `null` nor contains any elements that are `null`; otherwise throwing an exception.
`static void`
`noNullElements(Object[] array, String message)`
Validate that the specified argument array is neither `null` nor contains any elements that are `null`; otherwise throwing an exception with the specified message.
`static void`
`noNullElements(Collection collection)`
Validate that the specified argument collection is neither `null` nor contains any elements that are `null`; otherwise throwing an exception.
`static void`
`noNullElements(Collection collection, String message)`
Validate that the specified argument collection is neither `null` nor contains any elements that are `null`; otherwise throwing an exception with the specified message.
`static void`
`notEmpty(Object[] array)`
Validate that the specified argument array is neither `null` nor a length of zero (no elements); otherwise throwing an exception.
`static void`
`notEmpty(Object[] array, String message)`
Validate that the specified argument array is neither `null` nor a length of zero (no elements); otherwise throwing an exception with the specified message.
`static void`
`notEmpty(String string)`
Validate that the specified argument string is neither `null` nor a length of zero (no characters); otherwise throwing an exception with the specified message.
`static void`
`notEmpty(String string, String message)`
Validate that the specified argument string is neither `null` nor a length of zero (no characters); otherwise throwing an exception with the specified message.
`static void`
`notEmpty(Collection collection)`
Validate that the specified argument collection is neither `null` nor a size of zero (no elements); otherwise throwing an exception.
`static void`
`notEmpty(Collection collection, String message)`
Validate that the specified argument collection is neither `null` nor a size of zero (no elements); otherwise throwing an exception with the specified message.
`static void`
`notEmpty(Map map)`
Validate that the specified argument map is neither `null` nor a size of zero (no elements); otherwise throwing an exception.
`static void`
`notEmpty(Map map, String message)`
Validate that the specified argument map is neither `null` nor a size of zero (no elements); otherwise throwing an exception with the specified message.
`static void`
`notNull(Object object)`
Validate that the specified argument is not `null`; otherwise throwing an exception.
`static void`
`notNull(Object object, String message)`
Validate that the specified argument is not `null`; otherwise throwing an exception with the specified message.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### Validate

public Validate()
Constructor. This class should not normally be instantiated.

## Method Details

### isTrue

public static void isTrue(boolean expression, String message, Object value)

Validate that the argument condition is `true`; otherwise throwing an exception with the specified message. This method is useful when validating according to an arbitrary boolean expression, such as validating an object or using your own custom validation expression.

    Validate.isTrue( myObject.isOk(), "The object is not OK: ", myObject);

For performance reasons, the object value is passed as a separate parameter and appended to the exception message only in the case of an error.

Parameters:
  `expression` - the boolean expression to check
  `message` - the exception message if invalid
  `value` - the value to append to the message when invalid
Throws:
  `IllegalArgumentException` - if expression is `false`

### isTrue

public static void isTrue(boolean expression, String message, long value)

Validate that the argument condition is `true`; otherwise throwing an exception with the specified message. This method is useful when validating according to an arbitrary boolean expression, such as validating a primitive number or using your own custom validation expression.

    Validate.isTrue(i > 0.0, "The value must be greater than zero: ", i);

For performance reasons, the long value is passed as a separate parameter and appended to the exception message only in the case of an error.

Parameters:
  `expression` - the boolean expression to check
  `message` - the exception message if invalid
  `value` - the value to append to the message when invalid
Throws:
  `IllegalArgumentException` - if expression is `false`

### isTrue

public static void isTrue(boolean expression, String message, double value)

Validate that the argument condition is `true`; otherwise throwing an exception with the specified message. This method is useful when validating according to an arbitrary boolean expression, such as validating a primitive number or using your own custom validation expression.

    Validate.isTrue(d > 0.0, "The value must be greater than zero: ", d);

For performance reasons, the double value is passed as a separate parameter and appended to the exception message only in the case of an error.

Parameters:
  `expression` - the boolean expression to check
  `message` - the exception message if invalid
  `value` - the value to append to the message when invalid
Throws:
  `IllegalArgumentException` - if expression is `false`

### isTrue

public static void isTrue(boolean expression, String message)

Validate that the argument condition is `true`; otherwise throwing an exception with the specified message. This method is useful when validating according to an arbitrary boolean expression, such as validating a primitive number or using your own custom validation expression.

     Validate.isTrue( (i > 0), "The value must be greater than zero");
     Validate.isTrue( myObject.isOk(), "The object is not OK");

Parameters:
  `expression` - the boolean expression to check
  `message` - the exception message if invalid
Throws:
  `IllegalArgumentException` - if expression is `false`

### isTrue

public static void isTrue(boolean expression)

Validate that the argument condition is `true`; otherwise throwing an exception. This method is useful when validating according to an arbitrary boolean expression, such as validating a primitive number or using your own custom validation expression.

     Validate.isTrue(i > 0);
     Validate.isTrue(myObject.isOk());

The message of the exception is "The validated expression is false".

Parameters:
  `expression` - the boolean expression to check
Throws:
  `IllegalArgumentException` - if expression is `false`

### notNull

public static void notNull(Object object)

Validate that the specified argument is not `null`; otherwise throwing an exception.

    Validate.notNull(myObject);

The message of the exception is "The validated object is null".

Parameters:
  `object` - the object to check
Throws:
  `IllegalArgumentException` - if the object is `null`

### notNull

public static void notNull(Object object, String message)

Validate that the specified argument is not `null`; otherwise throwing an exception with the specified message.

    Validate.notNull(myObject, "The object must not be null");

Parameters:
  `object` - the object to check
  `message` - the exception message if invalid

### notEmpty

public static void notEmpty(Object[] array, String message)

Validate that the specified argument array is neither `null` nor a length of zero (no elements); otherwise throwing an exception with the specified message.

    Validate.notEmpty(myArray, "The array must not be empty");

Parameters:
  `array` - the array to check
  `message` - the exception message if invalid
Throws:
  `IllegalArgumentException` - if the array is empty

### notEmpty

public static void notEmpty(Object[] array)

Validate that the specified argument array is neither `null` nor a length of zero (no elements); otherwise throwing an exception.

    Validate.notEmpty(myArray);

The message in the exception is "The validated array is empty".

Parameters:
  `array` - the array to check
Throws:
  `IllegalArgumentException` - if the array is empty

### notEmpty

public static void notEmpty(Collection collection, String message)

Validate that the specified argument collection is neither `null` nor a size of zero (no elements); otherwise throwing an exception with the specified message.

    Validate.notEmpty(myCollection, "The collection must not be empty");

Parameters:
  `collection` - the collection to check
  `message` - the exception message if invalid
Throws:
  `IllegalArgumentException` - if the collection is empty

### notEmpty

public static void notEmpty(Collection collection)

Validate that the specified argument collection is neither `null` nor a size of zero (no elements); otherwise throwing an exception.

    Validate.notEmpty(myCollection);

The message in the exception is "The validated collection is empty".

Parameters:
  `collection` - the collection to check
Throws:
  `IllegalArgumentException` - if the collection is empty

### notEmpty

public static void notEmpty(Map map, String message)

Validate that the specified argument map is neither `null` nor a size of zero (no elements); otherwise throwing an exception with the specified message.

    Validate.notEmpty(myMap, "The map must not be empty");

Parameters:
  `map` - the map to check
  `message` - the exception message if invalid
Throws:
  `IllegalArgumentException` - if the map is empty

### notEmpty

public static void notEmpty(Map map)

Validate that the specified argument map is neither `null` nor a size of zero (no elements); otherwise throwing an exception.

    Validate.notEmpty(myMap);

The message in the exception is "The validated map is empty".

Parameters:
  `map` - the map to check
Throws:
  `IllegalArgumentException` - if the map is empty
See Also:
  - `notEmpty(Map, String)`

### notEmpty

public static void notEmpty(String string, String message)

Validate that the specified argument string is neither `null` nor a length of zero (no characters); otherwise throwing an exception with the specified message.

    Validate.notEmpty(myString, "The string must not be empty");

Parameters:
  `string` - the string to check
  `message` - the exception message if invalid
Throws:
  `IllegalArgumentException` - if the string is empty

### notEmpty

public static void notEmpty(String string)

Validate that the specified argument string is neither `null` nor a length of zero (no characters); otherwise throwing an exception with the specified message.

    Validate.notEmpty(myString);

The message in the exception is "The validated string is empty".

Parameters:
  `string` - the string to check
Throws:
  `IllegalArgumentException` - if the string is empty

### noNullElements

public static void noNullElements(Object[] array, String message)

Validate that the specified argument array is neither `null` nor contains any elements that are `null`; otherwise throwing an exception with the specified message.

    Validate.noNullElements(myArray, "The array contain null at position %d");

If the array is `null`, then the message in the exception is "The validated object is null".

Parameters:
  `array` - the array to check
  `message` - the exception message if the collection has `null` elements
Throws:
  `IllegalArgumentException` - if the array is `null` or an element in the array is `null`

### noNullElements

public static void noNullElements(Object[] array)

Validate that the specified argument array is neither `null` nor contains any elements that are `null`; otherwise throwing an exception.

    Validate.noNullElements(myArray);

If the array is `null`, then the message in the exception is "The validated object is null".

If the array has a `null` element, then the message in the exception is "The validated array contains null element at index: invalid input: '&quot' followed by the index.

Parameters:
  `array` - the array to check
Throws:
  `IllegalArgumentException` - if the array is `null` or an element in the array is `null`

### noNullElements

public static void noNullElements(Collection collection, String message)

Validate that the specified argument collection is neither `null` nor contains any elements that are `null`; otherwise throwing an exception with the specified message.

    Validate.noNullElements(myCollection, "The collection contains null elements");

If the collection is `null`, then the message in the exception is "The validated object is null".

Parameters:
  `collection` - the collection to check
  `message` - the exception message if the collection has
Throws:
  `IllegalArgumentException` - if the collection is `null` or an element in the collection is `null`

### noNullElements

public static void noNullElements(Collection collection)

Validate that the specified argument collection is neither `null` nor contains any elements that are `null`; otherwise throwing an exception.

    Validate.noNullElements(myCollection);

If the collection is `null`, then the message in the exception is "The validated object is null".

If the collection has a `null` element, then the message in the exception is "The validated collection contains null element at index: invalid input: '&quot' followed by the index.

Parameters:
  `collection` - the collection to check
Throws:
  `IllegalArgumentException` - if the collection is `null` or an element in the collection is `null`

### allElementsOfType

public static void allElementsOfType(Collection collection, Class clazz, String message)

Validate an argument, throwing `IllegalArgumentException` if the argument collection is `null` or has elements that are not of type `clazz` or a subclass.

     Validate.allElementsOfType(collection, String.class, "Collection has invalid elements");

Parameters:
  `collection` - the collection to check, not null
  `clazz` - the `Class` which the collection's elements are expected to be, not null
  `message` - the exception message if the `Collection` has elements not of type `clazz`
Since:
  2.1

### allElementsOfType

public static void allElementsOfType(Collection collection, Class clazz)

Validate an argument, throwing `IllegalArgumentException` if the argument collection is `null` or has elements that are not of type `clazz` or a subclass.

     Validate.allElementsOfType(collection, String.class);

The message in the exception is 'The validated collection contains an element not of type clazz at index: '.

Parameters:
  `collection` - the collection to check, not null
  `clazz` - the `Class` which the collection's elements are expected to be, not null
Since:
  2.1