Class Assert
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 usually 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.
Gratefully borrowed from the Spring Framework, also Apache 2.0 licensed- Since:
- 1.3
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic voiddoesNotContain(String textToSearch, String substring) Assert that the given text does not contain the given substring.static voiddoesNotContain(String textToSearch, String substring, String message) Assert that the given text does not contain the given substring.static voidAssert that the given String is not empty; that is, it must not benulland not the empty String.static voidAssert that the given String is not empty; that is, it must not benulland not the empty String.static voidAssert that the given String has valid text content; that is, it must not benulland must contain at least one non-whitespace character.static voidAssert that the given String has valid text content; that is, it must not benulland must contain at least one non-whitespace character.static voidisAssignable(Class superType, Class subType) Assert thatsuperType.isAssignableFrom(subType)istrue.static voidisAssignable(Class superType, Class subType, String message) Assert thatsuperType.isAssignableFrom(subType)istrue.static voidisInstanceOf(Class clazz, Object obj) Assert that the provided object is an instance of the provided class.static voidisInstanceOf(Class type, Object obj, String message) Assert that the provided object is an instance of the provided class.static voidAssert that an object isnull.static voidAssert that an object isnull.static voidisTrue(boolean expression) Assert a boolean expression, throwingIllegalArgumentExceptionif the test result isfalse.static voidAssert a boolean expression, throwingIllegalArgumentExceptionif the test result isfalse.static voidnoNullElements(Object[] array) Assert that an array has no null elements.static voidnoNullElements(Object[] array, String message) Assert that an array has no null elements.static voidAssert that an array has elements; that is, it must not benulland must have at least one element.static voidAssert that an array has elements; that is, it must not benulland must have at least one element.static voidnotEmpty(Collection collection) Assert that a collection has elements; that is, it must not benulland must have at least one element.static voidnotEmpty(Collection collection, String message) Assert that a collection has elements; that is, it must not benulland must have at least one element.static voidAssert that a Map has entries; that is, it must not benulland must have at least one entry.static voidAssert that a Map has entries; that is, it must not benulland must have at least one entry.static voidAssert that an object is notnull.static voidAssert that an object is notnull.static voidstate(boolean expression) Assert a boolean expression, throwingIllegalStateExceptionif the test result isfalse.static voidAssert a boolean expression, throwingIllegalStateExceptionif the test result isfalse.
-
Constructor Details
-
Assert
public Assert()
-
-
Method Details
-
isTrue
Assert a boolean expression, throwingIllegalArgumentExceptionif the test result isfalse.Assert.isTrue(i > 0, "The value must be greater than zero");
- Parameters:
expression- a boolean expressionmessage- the exception message to use if the assertion fails- Throws:
IllegalArgumentException- if expression isfalse
-
isTrue
public static void isTrue(boolean expression) Assert a boolean expression, throwingIllegalArgumentExceptionif the test result isfalse.Assert.isTrue(i > 0);
- Parameters:
expression- a boolean expression- Throws:
IllegalArgumentException- if expression isfalse
-
isNull
Assert that an object isnull.Assert.isNull(value, "The value must be null");
- Parameters:
object- the object to checkmessage- the exception message to use if the assertion fails- Throws:
IllegalArgumentException- if the object is notnull
-
isNull
Assert that an object isnull.Assert.isNull(value);
- Parameters:
object- the object to check- Throws:
IllegalArgumentException- if the object is notnull
-
notNull
Assert that an object is notnull.Assert.notNull(clazz, "The class must not be null");
- Parameters:
object- the object to checkmessage- the exception message to use if the assertion fails- Throws:
IllegalArgumentException- if the object isnull
-
notNull
Assert that an object is notnull.Assert.notNull(clazz);
- Parameters:
object- the object to check- Throws:
IllegalArgumentException- if the object isnull
-
hasLength
Assert that the given String is not empty; that is, it must not benulland not the empty String.Assert.hasLength(name, "Name must not be empty");
- Parameters:
text- the String to checkmessage- the exception message to use if the assertion fails- See Also:
-
hasLength
Assert that the given String is not empty; that is, it must not benulland not the empty String.Assert.hasLength(name);
- Parameters:
text- the String to check- See Also:
-
hasText
Assert that the given String has valid text content; that is, it must not benulland must contain at least one non-whitespace character.Assert.hasText(name, "'name' must not be empty");
- Parameters:
text- the String to checkmessage- the exception message to use if the assertion fails- See Also:
-
hasText
Assert that the given String has valid text content; that is, it must not benulland must contain at least one non-whitespace character.Assert.hasText(name, "'name' must not be empty");
- Parameters:
text- the String to check- See Also:
-
doesNotContain
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 searchsubstring- the substring to find within the textmessage- the exception message to use if the assertion fails
-
doesNotContain
Assert that the given text does not contain the given substring.Assert.doesNotContain(name, "rod");
- Parameters:
textToSearch- the text to searchsubstring- the substring to find within the text
-
notEmpty
Assert that an array has elements; that is, it must not benulland must have at least one element.Assert.notEmpty(array, "The array must have elements");
- Parameters:
array- the array to checkmessage- the exception message to use if the assertion fails- Throws:
IllegalArgumentException- if the object array isnullor has no elements
-
notEmpty
Assert that an array has elements; that is, it must not benulland must have at least one element.Assert.notEmpty(array);
- Parameters:
array- the array to check- Throws:
IllegalArgumentException- if the object array isnullor has no elements
-
noNullElements
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 checkmessage- the exception message to use if the assertion fails- Throws:
IllegalArgumentException- if the object array contains anullelement
-
noNullElements
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:
IllegalArgumentException- if the object array contains anullelement
-
notEmpty
Assert that a collection has elements; that is, it must not benulland must have at least one element.Assert.notEmpty(collection, "Collection must have elements");
- Parameters:
collection- the collection to checkmessage- the exception message to use if the assertion fails- Throws:
IllegalArgumentException- if the collection isnullor has no elements
-
notEmpty
Assert that a collection has elements; that is, it must not benulland must have at least one element.Assert.notEmpty(collection, "Collection must have elements");
- Parameters:
collection- the collection to check- Throws:
IllegalArgumentException- if the collection isnullor has no elements
-
notEmpty
Assert that a Map has entries; that is, it must not benulland must have at least one entry.Assert.notEmpty(map, "Map must have entries");
- Parameters:
map- the map to checkmessage- the exception message to use if the assertion fails- Throws:
IllegalArgumentException- if the map isnullor has no entries
-
notEmpty
Assert that a Map has entries; that is, it must not benulland must have at least one entry.Assert.notEmpty(map);
- Parameters:
map- the map to check- Throws:
IllegalArgumentException- if the map isnullor has no entries
-
isInstanceOf
Assert that the provided object is an instance of the provided class.Assert.instanceOf(Foo.class, foo);
- Parameters:
clazz- the required classobj- the object to check- Throws:
IllegalArgumentException- if the object is not an instance of clazz- See Also:
-
isInstanceOf
Assert that the provided object is an instance of the provided class.Assert.instanceOf(Foo.class, foo);
- Parameters:
type- the type to check againstobj- the object to checkmessage- 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:
IllegalArgumentException- if the object is not an instance of clazz- See Also:
-
isAssignable
Assert thatsuperType.isAssignableFrom(subType)istrue.Assert.isAssignable(Number.class, myClass);
- Parameters:
superType- the super type to checksubType- the sub type to check- Throws:
IllegalArgumentException- if the classes are not assignable
-
isAssignable
Assert thatsuperType.isAssignableFrom(subType)istrue.Assert.isAssignable(Number.class, myClass);
- Parameters:
superType- the super type to check againstsubType- the sub type to checkmessage- 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:
IllegalArgumentException- if the classes are not assignable
-
state
Assert a boolean expression, throwingIllegalStateExceptionif the test result isfalse. 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 expressionmessage- the exception message to use if the assertion fails- Throws:
IllegalStateException- if expression isfalse
-
state
public static void state(boolean expression) Assert a boolean expression, throwingIllegalStateExceptionif the test result isfalse.Call
isTrue(boolean)if you wish to throwIllegalArgumentExceptionon an assertion failure.Assert.state(id == null);
- Parameters:
expression- a boolean expression- Throws:
IllegalStateException- if the supplied expression isfalse
-