public abstract class Assert extends Object
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 configuration 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
 Apache's Commons Lang
 for a more comprehensive suite of String utilities.
| Constructor and Description | 
|---|
| Assert() | 
| Modifier and Type | Method and Description | 
|---|---|
| static void | doesNotContain(String textToSearch,
              String substring)Deprecated. 
 as of 4.3.7, in favor of  doesNotContain(String, String, String) | 
| static void | doesNotContain(String textToSearch,
              String substring,
              String message)Assert that the given text does not contain the given substring. | 
| static void | doesNotContain(String textToSearch,
              String substring,
              Supplier<String> messageSupplier)Assert that the given text does not contain the given substring. | 
| static void | hasLength(String text)Deprecated. 
 as of 4.3.7, in favor of  hasLength(String, String) | 
| static void | hasLength(String text,
         String message)Assert that the given String is not empty; that is,
 it must not be  nulland not the empty String. | 
| static void | hasLength(String text,
         Supplier<String> messageSupplier)Assert that the given String is not empty; that is,
 it must not be  nulland not the empty String. | 
| static void | hasText(String text)Deprecated. 
 as of 4.3.7, in favor of  hasText(String, String) | 
| static void | hasText(String text,
       String message)Assert that the given String contains valid text content; that is, it must not
 be  nulland must contain at least one non-whitespace character. | 
| static void | hasText(String text,
       Supplier<String> messageSupplier)Assert that the given String contains valid text content; that is, it must not
 be  nulland must contain at least one non-whitespace character. | 
| static void | isAssignable(Class<?> superType,
            Class<?> subType)Assert that  superType.isAssignableFrom(subType)istrue. | 
| static void | isAssignable(Class<?> superType,
            Class<?> subType,
            String message)Assert that  superType.isAssignableFrom(subType)istrue. | 
| static void | isAssignable(Class<?> superType,
            Class<?> subType,
            Supplier<String> messageSupplier)Assert that  superType.isAssignableFrom(subType)istrue. | 
| static void | isInstanceOf(Class<?> type,
            Object obj)Assert that the provided object is an instance of the provided class. | 
| static void | isInstanceOf(Class<?> type,
            Object obj,
            String message)Assert that the provided object is an instance of the provided class. | 
| static void | isInstanceOf(Class<?> type,
            Object obj,
            Supplier<String> messageSupplier)Assert that the provided object is an instance of the provided class. | 
| static void | isNull(Object object)Deprecated. 
 as of 4.3.7, in favor of  isNull(Object, String) | 
| static void | isNull(Object object,
      String message)Assert that an object is  null. | 
| static void | isNull(Object object,
      Supplier<String> messageSupplier)Assert that an object is  null. | 
| static void | isTrue(boolean expression)Deprecated. 
 as of 4.3.7, in favor of  isTrue(boolean, String) | 
| static void | isTrue(boolean expression,
      String message)Assert a boolean expression, throwing an  IllegalArgumentExceptionif the expression evaluates tofalse. | 
| static void | isTrue(boolean expression,
      Supplier<String> messageSupplier)Assert a boolean expression, throwing an  IllegalArgumentExceptionif the expression evaluates tofalse. | 
| static void | noNullElements(Object[] array)Deprecated. 
 as of 4.3.7, in favor of  noNullElements(Object[], String) | 
| static void | noNullElements(Object[] array,
              String message)Assert that an array contains no  nullelements. | 
| static void | noNullElements(Object[] array,
              Supplier<String> messageSupplier)Assert that an array contains no  nullelements. | 
| static void | notEmpty(Collection<?> collection)Deprecated. 
 as of 4.3.7, in favor of  notEmpty(Collection, String) | 
| static void | notEmpty(Collection<?> collection,
        String message)Assert that a collection contains elements; that is, it must not be
  nulland must contain at least one element. | 
| static void | notEmpty(Collection<?> collection,
        Supplier<String> messageSupplier)Assert that a collection contains elements; that is, it must not be
  nulland must contain at least one element. | 
| static void | notEmpty(Map<?,?> map)Deprecated. 
 as of 4.3.7, in favor of  notEmpty(Map, String) | 
| static void | notEmpty(Map<?,?> map,
        String message)Assert that a Map contains entries; that is, it must not be  nulland must contain at least one entry. | 
| static void | notEmpty(Map<?,?> map,
        Supplier<String> messageSupplier)Assert that a Map contains entries; that is, it must not be  nulland must contain at least one entry. | 
| static void | notEmpty(Object[] array)Deprecated. 
 as of 4.3.7, in favor of  notEmpty(Object[], String) | 
| static void | notEmpty(Object[] array,
        String message)Assert that an array contains elements; that is, it must not be
  nulland must contain at least one element. | 
| static void | notEmpty(Object[] array,
        Supplier<String> messageSupplier)Assert that an array contains elements; that is, it must not be
  nulland must contain at least one element. | 
| static void | notNull(Object object)Deprecated. 
 as of 4.3.7, in favor of  notNull(Object, String) | 
| static void | notNull(Object object,
       String message)Assert that an object is not  null. | 
| static void | notNull(Object object,
       Supplier<String> messageSupplier)Assert that an object is not  null. | 
| static void | state(boolean expression)Deprecated. 
 as of 4.3.7, in favor of  state(boolean, String) | 
| static void | state(boolean expression,
     String message)Assert a boolean expression, throwing an  IllegalStateExceptionif the expression evaluates tofalse. | 
| static void | state(boolean expression,
     Supplier<String> messageSupplier)Assert a boolean expression, throwing an  IllegalStateExceptionif the expression evaluates tofalse. | 
public static void state(boolean expression,
                         String message)
IllegalStateException
 if the expression evaluates to false.
 Call isTrue(boolean, java.lang.String) if you wish to throw an IllegalArgumentException
 on an assertion failure.
 
Assert.state(id == null, "The id property must not already be initialized");
expression - a boolean expressionmessage - the exception message to use if the assertion failsIllegalStateException - if expression is falsepublic static void state(boolean expression,
                         Supplier<String> messageSupplier)
IllegalStateException
 if the expression evaluates to false.
 Call isTrue(boolean, java.lang.String) if you wish to throw an IllegalArgumentException
 on an assertion failure.
 
 Assert.state(entity.getId() == null,
     () -> "ID for entity " + entity.getName() + " must not already be initialized");
 expression - a boolean expressionmessageSupplier - a supplier for the exception message to use if the
 assertion failsIllegalStateException - if expression is false@Deprecated public static void state(boolean expression)
state(boolean, String)IllegalStateException
 if the expression evaluates to false.public static void isTrue(boolean expression,
                          String message)
IllegalArgumentException
 if the expression evaluates to false.
 Assert.isTrue(i > 0, "The value must be greater than zero");
expression - a boolean expressionmessage - the exception message to use if the assertion failsIllegalArgumentException - if expression is falsepublic static void isTrue(boolean expression,
                          Supplier<String> messageSupplier)
IllegalArgumentException
 if the expression evaluates to false.
 Assert.isTrue(i > 0, () -> "The value '" + i + "' must be greater than zero");
expression - a boolean expressionmessageSupplier - a supplier for the exception message to use if the
 assertion failsIllegalArgumentException - if expression is false@Deprecated public static void isTrue(boolean expression)
isTrue(boolean, String)IllegalArgumentException
 if the expression evaluates to false.public static void isNull(@Nullable Object object, String message)
null.
 Assert.isNull(value, "The value must be null");
object - the object to checkmessage - the exception message to use if the assertion failsIllegalArgumentException - if the object is not nullpublic static void isNull(@Nullable Object object, Supplier<String> messageSupplier)
null.
 Assert.isNull(value, () -> "The value '" + value + "' must be null");
object - the object to checkmessageSupplier - a supplier for the exception message to use if the
 assertion failsIllegalArgumentException - if the object is not null@Deprecated public static void isNull(@Nullable Object object)
isNull(Object, String)null.public static void notNull(@Nullable Object object, String message)
null.
 Assert.notNull(clazz, "The class must not be null");
object - the object to checkmessage - the exception message to use if the assertion failsIllegalArgumentException - if the object is nullpublic static void notNull(@Nullable Object object, Supplier<String> messageSupplier)
null.
 
 Assert.notNull(entity.getId(),
     () -> "ID for entity " + entity.getName() + " must not be null");
 object - the object to checkmessageSupplier - a supplier for the exception message to use if the
 assertion failsIllegalArgumentException - if the object is null@Deprecated public static void notNull(@Nullable Object object)
notNull(Object, String)null.public static void hasLength(@Nullable String text, String message)
null and not the empty String.
 Assert.hasLength(name, "Name must not be empty");
text - the String to checkmessage - the exception message to use if the assertion failsIllegalArgumentException - if the text is emptyStringUtils.hasLength(java.lang.CharSequence)public static void hasLength(@Nullable String text, Supplier<String> messageSupplier)
null and not the empty String.
 
 Assert.hasLength(account.getName(),
     () -> "Name for account '" + account.getId() + "' must not be empty");
 text - the String to checkmessageSupplier - a supplier for the exception message to use if the
 assertion failsIllegalArgumentException - if the text is emptyStringUtils.hasLength(java.lang.CharSequence)@Deprecated public static void hasLength(@Nullable String text)
hasLength(String, String)null and not the empty String.public static void hasText(@Nullable String text, String message)
null and must contain at least one non-whitespace character.
 Assert.hasText(name, "'name' must not be empty");
text - the String to checkmessage - the exception message to use if the assertion failsIllegalArgumentException - if the text does not contain valid text contentStringUtils.hasText(java.lang.CharSequence)public static void hasText(@Nullable String text, Supplier<String> messageSupplier)
null and must contain at least one non-whitespace character.
 
 Assert.hasText(account.getName(),
     () -> "Name for account '" + account.getId() + "' must not be empty");
 text - the String to checkmessageSupplier - a supplier for the exception message to use if the
 assertion failsIllegalArgumentException - if the text does not contain valid text contentStringUtils.hasText(java.lang.CharSequence)@Deprecated public static void hasText(@Nullable String text)
hasText(String, String)null and must contain at least one non-whitespace character.public static void doesNotContain(@Nullable String textToSearch, String substring, String message)
Assert.doesNotContain(name, "rod", "Name must not contain 'rod'");
textToSearch - the text to searchsubstring - the substring to find within the textmessage - the exception message to use if the assertion failsIllegalArgumentException - if the text contains the substringpublic static void doesNotContain(@Nullable String textToSearch, String substring, Supplier<String> messageSupplier)
Assert.doesNotContain(name, forbidden, () -> "Name must not contain '" + forbidden + "'");
textToSearch - the text to searchsubstring - the substring to find within the textmessageSupplier - a supplier for the exception message to use if the
 assertion failsIllegalArgumentException - if the text contains the substring@Deprecated public static void doesNotContain(@Nullable String textToSearch, String substring)
doesNotContain(String, String, String)public static void notEmpty(@Nullable Object[] array, String message)
null and must contain at least one element.
 Assert.notEmpty(array, "The array must contain elements");
array - the array to checkmessage - the exception message to use if the assertion failsIllegalArgumentException - if the object array is null or contains no elementspublic static void notEmpty(@Nullable Object[] array, Supplier<String> messageSupplier)
null and must contain at least one element.
 Assert.notEmpty(array, () -> "The " + arrayType + " array must contain elements");
array - the array to checkmessageSupplier - a supplier for the exception message to use if the
 assertion failsIllegalArgumentException - if the object array is null or contains no elements@Deprecated public static void notEmpty(@Nullable Object[] array)
notEmpty(Object[], String)null and must contain at least one element.public static void noNullElements(@Nullable Object[] array, String message)
null elements.
 Note: Does not complain if the array is empty!
Assert.noNullElements(array, "The array must contain non-null elements");
array - the array to checkmessage - the exception message to use if the assertion failsIllegalArgumentException - if the object array contains a null elementpublic static void noNullElements(@Nullable Object[] array, Supplier<String> messageSupplier)
null elements.
 Note: Does not complain if the array is empty!
Assert.noNullElements(array, () -> "The " + arrayType + " array must contain non-null elements");
array - the array to checkmessageSupplier - a supplier for the exception message to use if the
 assertion failsIllegalArgumentException - if the object array contains a null element@Deprecated public static void noNullElements(@Nullable Object[] array)
noNullElements(Object[], String)null elements.public static void notEmpty(@Nullable Collection<?> collection, String message)
null and must contain at least one element.
 Assert.notEmpty(collection, "Collection must contain elements");
collection - the collection to checkmessage - the exception message to use if the assertion failsIllegalArgumentException - if the collection is null or
 contains no elementspublic static void notEmpty(@Nullable Collection<?> collection, Supplier<String> messageSupplier)
null and must contain at least one element.
 Assert.notEmpty(collection, () -> "The " + collectionType + " collection must contain elements");
collection - the collection to checkmessageSupplier - a supplier for the exception message to use if the
 assertion failsIllegalArgumentException - if the collection is null or
 contains no elements@Deprecated public static void notEmpty(@Nullable Collection<?> collection)
notEmpty(Collection, String)null and must contain at least one element.public static void notEmpty(@Nullable Map<?,?> map, String message)
null
 and must contain at least one entry.
 Assert.notEmpty(map, "Map must contain entries");
map - the map to checkmessage - the exception message to use if the assertion failsIllegalArgumentException - if the map is null or contains no entriespublic static void notEmpty(@Nullable Map<?,?> map, Supplier<String> messageSupplier)
null
 and must contain at least one entry.
 Assert.notEmpty(map, () -> "The " + mapType + " map must contain entries");
map - the map to checkmessageSupplier - a supplier for the exception message to use if the
 assertion failsIllegalArgumentException - if the map is null or contains no entries@Deprecated public static void notEmpty(@Nullable Map<?,?> map)
notEmpty(Map, String)null
 and must contain at least one entry.public static void isInstanceOf(Class<?> type, @Nullable Object obj, String message)
Assert.instanceOf(Foo.class, foo, "Foo expected");
type - the type to check againstobj - the object to checkmessage - a message which will be prepended to provide further context.
 If it is empty or ends in ":" or ";" or "," or ".", a full exception message
 will be appended. If it ends in a space, the name of the offending object's
 type will be appended. In any other case, a ":" with a space and the name
 of the offending object's type will be appended.IllegalArgumentException - if the object is not an instance of typepublic static void isInstanceOf(Class<?> type, @Nullable Object obj, Supplier<String> messageSupplier)
Assert.instanceOf(Foo.class, foo, () -> "Processing " + Foo.class.getSimpleName() + ":");
type - the type to check againstobj - the object to checkmessageSupplier - a supplier for the exception message to use if the
 assertion fails. See isInstanceOf(Class, Object, String) for details.IllegalArgumentException - if the object is not an instance of typepublic static void isInstanceOf(Class<?> type, @Nullable Object obj)
Assert.instanceOf(Foo.class, foo);
type - the type to check againstobj - the object to checkIllegalArgumentException - if the object is not an instance of typepublic static void isAssignable(Class<?> superType, @Nullable Class<?> subType, String message)
superType.isAssignableFrom(subType) is true.
 Assert.isAssignable(Number.class, myClass, "Number expected");
superType - the super type to check againstsubType - the sub type to checkmessage - a message which will be prepended to provide further context.
 If it is empty or ends in ":" or ";" or "," or ".", a full exception message
 will be appended. If it ends in a space, the name of the offending sub type
 will be appended. In any other case, a ":" with a space and the name of the
 offending sub type will be appended.IllegalArgumentException - if the classes are not assignablepublic static void isAssignable(Class<?> superType, @Nullable Class<?> subType, Supplier<String> messageSupplier)
superType.isAssignableFrom(subType) is true.
 Assert.isAssignable(Number.class, myClass, () -> "Processing " + myAttributeName + ":");
superType - the super type to check againstsubType - the sub type to checkmessageSupplier - a supplier for the exception message to use if the
 assertion fails. See isAssignable(Class, Class, String) for details.IllegalArgumentException - if the classes are not assignablepublic static void isAssignable(Class<?> superType, Class<?> subType)
superType.isAssignableFrom(subType) is true.
 Assert.isAssignable(Number.class, myClass);
superType - the super type to checksubType - the sub type to checkIllegalArgumentException - if the classes are not assignable