org.springframework.util
Class Assert

java.lang.Object
  extended by org.springframework.util.Assert

public abstract class Assert
extends java.lang.Object

Assertion utility class that assists in validating arguments. Useful for identifying programmer errors early and clearly at runtime.

For example, if the contract of a public method states it does not allow null arguments, Assert can be used to validate that contract. Doing this clearly indicates a contract violation when it occurs and protects the class's invariants.

Typically used to validate method arguments rather than configuration properties, to check for cases that are usually programmer errors rather than configuration errors. In contrast to config initialization code, there is usally no point in falling back to defaults in such methods.

This class is similar to JUnit's assertion library. If an argument value is deemed invalid, an IllegalArgumentException is thrown (typically). For example:

 Assert.notNull(clazz, "The class must not be null");
 Assert.isTrue(i > 0, "The value must be greater than zero");
Mainly for internal use within the framework; consider Jakarta's Commons Lang >= 2.0 for a more comprehensive suite of assertion utilities.

Since:
1.1.2
Author:
Keith Donald, Juergen Hoeller, Colin Sampaleanu, Rob Harrop

Constructor Summary
Assert()
           
 
Method Summary
static void doesNotContain(java.lang.String textToSearch, java.lang.String substring)
          Assert that the given text does not contain the given substring.
static void doesNotContain(java.lang.String textToSearch, java.lang.String substring, java.lang.String message)
          Assert that the given text does not contain the given substring.
static void hasLength(java.lang.String text)
          Assert that the given String is not empty; that is, it must not be null and not the empty String.
static void hasLength(java.lang.String text, java.lang.String message)
          Assert that the given String is not empty; that is, it must not be null and not the empty String.
static void hasText(java.lang.String text)
          Assert that the given String has valid text content; that is, it must not be null and must contain at least one non-whitespace character.
static void hasText(java.lang.String text, java.lang.String message)
          Assert that the given String has valid text content; that is, it must not be null and must contain at least one non-whitespace character.
static void isAssignable(java.lang.Class superType, java.lang.Class subType)
          Assert that superType.isAssignableFrom(subType) is true.
static void isAssignable(java.lang.Class superType, java.lang.Class subType, java.lang.String message)
          Assert that superType.isAssignableFrom(subType) is true.
static void isInstanceOf(java.lang.Class clazz, java.lang.Object obj)
          Assert that the provided object is an instance of the provided class.
static void isInstanceOf(java.lang.Class type, java.lang.Object obj, java.lang.String message)
          Assert that the provided object is an instance of the provided class.
static void isNull(java.lang.Object object)
          Assert that an object is null .
static void isNull(java.lang.Object object, java.lang.String message)
          Assert that an object is null .
static void isTrue(boolean expression)
          Assert a boolean expression, throwing IllegalArgumentException if the test result is false.
static void isTrue(boolean expression, java.lang.String message)
          Assert a boolean expression, throwing IllegalArgumentException if the test result is false.
static void noNullElements(java.lang.Object[] array)
          Assert that an array has no null elements.
static void noNullElements(java.lang.Object[] array, java.lang.String message)
          Assert that an array has no null elements.
static void notEmpty(java.util.Collection collection)
          Assert that a collection has elements; that is, it must not be null and must have at least one element.
static void notEmpty(java.util.Collection collection, java.lang.String message)
          Assert that a collection has elements; that is, it must not be null and must have at least one element.
static void notEmpty(java.util.Map map)
          Assert that a Map has entries; that is, it must not be null and must have at least one entry.
static void notEmpty(java.util.Map map, java.lang.String message)
          Assert that a Map has entries; that is, it must not be null and must have at least one entry.
static void notEmpty(java.lang.Object[] array)
          Assert that an array has elements; that is, it must not be null and must have at least one element.
static void notEmpty(java.lang.Object[] array, java.lang.String message)
          Assert that an array has elements; that is, it must not be null and must have at least one element.
static void notNull(java.lang.Object object)
          Assert that an object is not null .
static void notNull(java.lang.Object object, java.lang.String message)
          Assert that an object is not null .
static void state(boolean expression)
          Assert a boolean expression, throwing IllegalStateException if the test result is false.
static void state(boolean expression, java.lang.String message)
          Assert a boolean expression, throwing IllegalStateException if the test result is false.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Assert

public Assert()
Method Detail

isTrue

public static void isTrue(boolean expression,
                          java.lang.String message)
Assert a boolean expression, throwing IllegalArgumentException if the test result is false.
Assert.isTrue(i > 0, "The value must be greater than zero");

Parameters:
expression - a boolean expression
message - the exception message to use if the assertion fails
Throws:
java.lang.IllegalArgumentException - if expression is false

isTrue

public static void isTrue(boolean expression)
Assert a boolean expression, throwing IllegalArgumentException if the test result is false.
Assert.isTrue(i > 0);

Parameters:
expression - a boolean expression
Throws:
java.lang.IllegalArgumentException - if expression is false

isNull

public static void isNull(java.lang.Object object,
                          java.lang.String message)
Assert that an object is null .
Assert.isNull(value, "The value must be null");

Parameters:
object - the object to check
message - the exception message to use if the assertion fails
Throws:
java.lang.IllegalArgumentException - if the object is not null

isNull

public static void isNull(java.lang.Object object)
Assert that an object is null .
Assert.isNull(value);

Parameters:
object - the object to check
Throws:
java.lang.IllegalArgumentException - if the object is not null

notNull

public static void notNull(java.lang.Object object,
                           java.lang.String message)
Assert that an object is not null .
Assert.notNull(clazz, "The class must not be null");

Parameters:
object - the object to check
message - the exception message to use if the assertion fails
Throws:
java.lang.IllegalArgumentException - if the object is null

notNull

public static void notNull(java.lang.Object object)
Assert that an object is not null .
Assert.notNull(clazz);

Parameters:
object - the object to check
Throws:
java.lang.IllegalArgumentException - if the object is null

hasLength

public static void hasLength(java.lang.String text,
                             java.lang.String message)
Assert that the given String is not empty; that is, it must not be null and not the empty String.
Assert.hasLength(name, "Name must not be empty");

Parameters:
text - the String to check
message - the exception message to use if the assertion fails
See Also:
StringUtils.hasLength(java.lang.CharSequence)

hasLength

public static void hasLength(java.lang.String text)
Assert that the given String is not empty; that is, it must not be null and not the empty String.
Assert.hasLength(name);

Parameters:
text - the String to check
See Also:
StringUtils.hasLength(java.lang.CharSequence)

hasText

public static void hasText(java.lang.String text,
                           java.lang.String message)
Assert that the given String has valid text content; that is, it must not be null and must contain at least one non-whitespace character.
Assert.hasText(name, "'name' must not be empty");

Parameters:
text - the String to check
message - the exception message to use if the assertion fails
See Also:
StringUtils.hasText(java.lang.CharSequence)

hasText

public static void hasText(java.lang.String text)
Assert that the given String has valid text content; that is, it must not be null and must contain at least one non-whitespace character.
Assert.hasText(name, "'name' must not be empty");

Parameters:
text - the String to check
See Also:
StringUtils.hasText(java.lang.CharSequence)

doesNotContain

public static void doesNotContain(java.lang.String textToSearch,
                                  java.lang.String substring,
                                  java.lang.String message)
Assert that the given text does not contain the given substring.
Assert.doesNotContain(name, "rod", "Name must not contain 'rod'");

Parameters:
textToSearch - the text to search
substring - the substring to find within the text
message - the exception message to use if the assertion fails

doesNotContain

public static void doesNotContain(java.lang.String textToSearch,
                                  java.lang.String substring)
Assert that the given text does not contain the given substring.
Assert.doesNotContain(name, "rod");

Parameters:
textToSearch - the text to search
substring - the substring to find within the text

notEmpty

public static void notEmpty(java.lang.Object[] array,
                            java.lang.String message)
Assert that an array has elements; that is, it must not be null and must have at least one element.
Assert.notEmpty(array, "The array must have elements");

Parameters:
array - the array to check
message - the exception message to use if the assertion fails
Throws:
java.lang.IllegalArgumentException - if the object array is null or has no elements

notEmpty

public static void notEmpty(java.lang.Object[] array)
Assert that an array has elements; that is, it must not be null and must have at least one element.
Assert.notEmpty(array);

Parameters:
array - the array to check
Throws:
java.lang.IllegalArgumentException - if the object array is null or has no elements

noNullElements

public static void noNullElements(java.lang.Object[] array,
                                  java.lang.String message)
Assert that an array has no null elements. Note: Does not complain if the array is empty!
Assert.noNullElements(array, "The array must have non-null elements");

Parameters:
array - the array to check
message - the exception message to use if the assertion fails
Throws:
java.lang.IllegalArgumentException - if the object array contains a null element

noNullElements

public static void noNullElements(java.lang.Object[] array)
Assert that an array has no null elements. Note: Does not complain if the array is empty!
Assert.noNullElements(array);

Parameters:
array - the array to check
Throws:
java.lang.IllegalArgumentException - if the object array contains a null element

notEmpty

public static void notEmpty(java.util.Collection collection,
                            java.lang.String message)
Assert that a collection has elements; that is, it must not be null and must have at least one element.
Assert.notEmpty(collection, "Collection must have elements");

Parameters:
collection - the collection to check
message - the exception message to use if the assertion fails
Throws:
java.lang.IllegalArgumentException - if the collection is null or has no elements

notEmpty

public static void notEmpty(java.util.Collection collection)
Assert that a collection has elements; that is, it must not be null and must have at least one element.
Assert.notEmpty(collection, "Collection must have elements");

Parameters:
collection - the collection to check
Throws:
java.lang.IllegalArgumentException - if the collection is null or has no elements

notEmpty

public static void notEmpty(java.util.Map map,
                            java.lang.String message)
Assert that a Map has entries; that is, it must not be null and must have at least one entry.
Assert.notEmpty(map, "Map must have entries");

Parameters:
map - the map to check
message - the exception message to use if the assertion fails
Throws:
java.lang.IllegalArgumentException - if the map is null or has no entries

notEmpty

public static void notEmpty(java.util.Map map)
Assert that a Map has entries; that is, it must not be null and must have at least one entry.
Assert.notEmpty(map);

Parameters:
map - the map to check
Throws:
java.lang.IllegalArgumentException - if the map is null or has no entries

isInstanceOf

public static void isInstanceOf(java.lang.Class clazz,
                                java.lang.Object obj)
Assert that the provided object is an instance of the provided class.
Assert.instanceOf(Foo.class, foo);

Parameters:
clazz - the required class
obj - the object to check
Throws:
java.lang.IllegalArgumentException - if the object is not an instance of clazz
See Also:
Class.isInstance(java.lang.Object)

isInstanceOf

public static void isInstanceOf(java.lang.Class type,
                                java.lang.Object obj,
                                java.lang.String message)
Assert that the provided object is an instance of the provided class.
Assert.instanceOf(Foo.class, foo);

Parameters:
type - the type to check against
obj - the object to check
message - a message which will be prepended to the message produced by the function itself, and which may be used to provide context. It should normally end in a ": " or ". " so that the function generate message looks ok when prepended to it.
Throws:
java.lang.IllegalArgumentException - if the object is not an instance of clazz
See Also:
Class.isInstance(java.lang.Object)

isAssignable

public static void isAssignable(java.lang.Class superType,
                                java.lang.Class subType)
Assert that superType.isAssignableFrom(subType) is true.
Assert.isAssignable(Number.class, myClass);

Parameters:
superType - the super type to check
subType - the sub type to check
Throws:
java.lang.IllegalArgumentException - if the classes are not assignable

isAssignable

public static void isAssignable(java.lang.Class superType,
                                java.lang.Class subType,
                                java.lang.String message)
Assert that superType.isAssignableFrom(subType) is true.
Assert.isAssignable(Number.class, myClass);

Parameters:
superType - the super type to check against
subType - the sub type to check
message - a message which will be prepended to the message produced by the function itself, and which may be used to provide context. It should normally end in a ": " or ". " so that the function generate message looks ok when prepended to it.
Throws:
java.lang.IllegalArgumentException - if the classes are not assignable

state

public static void state(boolean expression,
                         java.lang.String message)
Assert a boolean expression, throwing IllegalStateException if the test result is false. Call isTrue if you wish to throw IllegalArgumentException on an assertion failure.
Assert.state(id == null, "The id property must not already be initialized");

Parameters:
expression - a boolean expression
message - the exception message to use if the assertion fails
Throws:
java.lang.IllegalStateException - if expression is false

state

public static void state(boolean expression)
Assert a boolean expression, throwing IllegalStateException if the test result is false.

Call isTrue(boolean) if you wish to throw IllegalArgumentException on an assertion failure.

Assert.state(id == null);

Parameters:
expression - a boolean expression
Throws:
java.lang.IllegalStateException - if the supplied expression is false