Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Copyright 2002-2007 the original author or authors.
   *
   * Licensed under the Apache License, Version 2.0 (the "License"); you may not
   * use this file except in compliance with the License. You may obtain a copy of
   * the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
  * Unless required by applicable law or agreed to in writing, software
  * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
  * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
  * License for the specific language governing permissions and limitations under
  * the License.
  */
 
 package org.springframework.util;
 
 import java.util.Map;

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 java.lang.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.

Author(s):
Keith Donald
Juergen Hoeller
Colin Sampaleanu
Rob Harrop
Since:
1.1.2
 
 public abstract class Assert {

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
 
 	public static void isTrue(boolean expressionString message) {
 		if (!expression) {
 			throw new IllegalArgumentException(message);
 		}
 	}

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
 
 	public static void isTrue(boolean expression) {
 		isTrue(expression"[Assertion failed] - this expression must be true");
 	}

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
 
 	public static void isNull(Object objectString message) {
 		if (object != null) {
 			throw new IllegalArgumentException(message);
 		}
 	}

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
 
 	public static void isNull(Object object) {
		isNull(object"[Assertion failed] - the object argument must be null");
	}

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
	public static void notNull(Object objectString message) {
		if (object == null) {
			throw new IllegalArgumentException(message);
		}
	}

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
	public static void notNull(Object object) {
		notNull(object"[Assertion failed] - this argument is required; it must not be null");
	}

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)
	public static void hasLength(String textString message) {
		if (!StringUtils.hasLength(text)) {
			throw new IllegalArgumentException(message);
		}
	}

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)
	public static void hasLength(String text) {
				"[Assertion failed] - this String argument must have length; it must not be null or empty");
	}

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)
	public static void hasText(String textString message) {
		if (!StringUtils.hasText(text)) {
			throw new IllegalArgumentException(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
See also:
StringUtils.hasText(java.lang.CharSequence)
	public static void hasText(String text) {
		hasText(text,
				"[Assertion failed] - this String argument must have text; it must not be null, empty, or blank");
	}

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
	public static void doesNotContain(String textToSearchString substringString message) {
		if (StringUtils.hasLength(textToSearch) && StringUtils.hasLength(substring) &&
				textToSearch.indexOf(substring) != -1) {
			throw new IllegalArgumentException(message);
		}
	}

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
	public static void doesNotContain(String textToSearchString substring) {
		doesNotContain(textToSearchsubstring,
				"[Assertion failed] - this String argument must not contain the substring [" + substring + "]");
	}


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
	public static void notEmpty(Object[] arrayString message) {
		if (ObjectUtils.isEmpty(array)) {
			throw new IllegalArgumentException(message);
		}
	}

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
	public static void notEmpty(Object[] array) {
		notEmpty(array"[Assertion failed] - this array must not be empty: it must contain at least 1 element");
	}

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
	public static void noNullElements(Object[] arrayString message) {
		if (array != null) {
			for (int i = 0; i < array.lengthi++) {
				if (array[i] == null) {
					throw new IllegalArgumentException(message);
				}
			}
		}
	}

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
	public static void noNullElements(Object[] array) {
		noNullElements(array"[Assertion failed] - this array must not contain any null elements");
	}

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
	public static void notEmpty(Collection collectionString message) {
		if (CollectionUtils.isEmpty(collection)) {
			throw new IllegalArgumentException(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
Throws:
java.lang.IllegalArgumentException if the collection is null or has no elements
	public static void notEmpty(Collection collection) {
		notEmpty(collection,
				"[Assertion failed] - this collection must not be empty: it must contain at least 1 element");
	}

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
	public static void notEmpty(Map mapString message) {
		if (CollectionUtils.isEmpty(map)) {
			throw new IllegalArgumentException(message);
		}
	}

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
	public static void notEmpty(Map map) {
		notEmpty(map"[Assertion failed] - this map must not be empty; it must contain at least one entry");
	}


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:
java.lang.Class.isInstance(java.lang.Object)
	public static void isInstanceOf(Class clazzObject obj) {
		isInstanceOf(clazzobj"");
	}

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:
java.lang.Class.isInstance(java.lang.Object)
	public static void isInstanceOf(Class typeObject objString message) {
		notNull(type"Type to check against must not be null");
		if (!type.isInstance(obj)) {
			throw new IllegalArgumentException(message +
					"Object of class [" + (obj != null ? obj.getClass().getName() : "null") +
					"] must be an instance of " + type);
		}
	}

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
	public static void isAssignable(Class superTypeClass subType) {
		isAssignable(superTypesubType"");
	}

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
	public static void isAssignable(Class superTypeClass subTypeString message) {
		notNull(superType"Type to check against must not be null");
		if (subType == null || !superType.isAssignableFrom(subType)) {
			throw new IllegalArgumentException(message + subType + " is not assignable to " + superType);
		}
	}


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
	public static void state(boolean expressionString message) {
		if (!expression) {
			throw new IllegalStateException(message);
		}
	}

Assert a boolean expression, throwing java.lang.IllegalStateException if the test result is false.

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

Assert.state(id == null);

Parameters:
expression a boolean expression
Throws:
java.lang.IllegalStateException if the supplied expression is false
	public static void state(boolean expression) {
		state(expression"[Assertion failed] - this state invariant must be true");
	}
New to GrepCode? Check out our FAQ X