java.lang.Object
nl.basjes.parse.useragent.utils.springframework.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.

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 {link 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; for a more comprehensive suite of assertion utilities consider org.apache.commons.lang3.Validate from Apache Commons Lang, Google Guava's Preconditions, or similar third-party libraries.

Since:
1.1.2
Author:
Keith Donald, Juergen Hoeller, Sam Brannen, Colin Sampaleanu, Rob Harrop
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    static void
    isTrue(boolean expression, String message)
    Assert a boolean expression, throwing an IllegalArgumentException if the expression evaluates to false.
    static void
    notNull(Object object, String message)
    Assert that an object is not null.
    static void
    state(boolean expression, String message)
    Assert a boolean expression, throwing an IllegalStateException if the expression evaluates to false.

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • Assert

      public Assert()
  • Method Details

    • state

      public static void state(boolean expression, String message)
      Assert a boolean expression, throwing an IllegalStateException if the expression evaluates to false.

      Call {link #isTrue} if you wish to throw an 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:
      IllegalStateException - if expression is false
    • isTrue

      public static void isTrue(boolean expression, String message)
      Assert a boolean expression, throwing an IllegalArgumentException if the expression evaluates to 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:
      IllegalArgumentException - if expression is false
    • notNull

      public static void notNull(@Nullable Object object, 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:
      IllegalArgumentException - if the object is null