Class Assert

java.lang.Object
org.apache.shiro.lang.util.Assert

public abstract class Assert extends Object
Assertion utility class that assists in validating arguments. Useful for identifying programmer errors early and clearly at runtime. Usage also reduces a program's cyclomatic complexity.

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