# Preconditions
Date: 2012-02-24

## com.google.appengine.api.search.checkers
Class Preconditions

    java.lang.Object
      com.google.appengine.api.search.checkers.Preconditions

    public final class Preconditions

extends java.lang.Object

Simple static methods to be called at the start of your own methods to verify correct arguments and state. This allows constructs such as

         if (count <= 0) {
           throw new IllegalArgumentException("must be positive: " + count);
         }

to be replaced with the more compact

         checkArgument(count > 0, "must be positive: %s", count);

Note that the sense of the expression is inverted; with `Preconditions` you declare what you expect to be true, just as you do with an `assert` or a JUnit `assertTrue` call.

Method Summary
`static void` `checkArgument(boolean expression, java.lang.Object errorMessage)` Ensures the truth of an expression involving one or more parameters to the calling method.
`static void` `checkArgument(boolean expression, java.lang.String errorMessageTemplate, java.lang.Object... errorMessageArgs)` Ensures the truth of an expression involving one or more parameters to the calling method.

`static

`<T> T`

`

`checkNotNull(T reference, java.lang.Object errorMessage)`
Ensures that an object reference passed as a parameter to the calling method is not null.

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### checkArgument

    public static void checkArgument(boolean expression,
                                     java.lang.Object errorMessage)

  Ensures the truth of an expression involving one or more parameters to the calling method.

  Parameters:
    `expression` - a boolean expression
    `errorMessage` - the exception message to use if the check fails; will be converted to a string using `String.valueOf(Object)`
  Throws:
    `java.lang.IllegalArgumentException` - if `expression` is false

### checkArgument

    public static void checkArgument(boolean expression,
                                     java.lang.String errorMessageTemplate,
                                     java.lang.Object... errorMessageArgs)

  Ensures the truth of an expression involving one or more parameters to the calling method.

  Parameters:
    `expression` - a boolean expression
    `errorMessageTemplate` - a template for the exception message should the check fail. The message is formed by replacing each `%s` place-holder in the template with an argument. These are matched by position - the first `%s` gets `errorMessageArgs[0]`, etc. Unmatched arguments will be appended to the formatted message in square braces. Unmatched place-holders will be left as-is
    `errorMessageArgs` - the arguments to be substituted into the message template. Arguments are converted to strings using `String.valueOf(Object)`
  Throws:
    `java.lang.IllegalArgumentException` - if `expression` is false
    `java.lang.NullPointerException` - if the check fails and either `errorMessageTemplate` or `errorMessageArgs` is null (don't let this happen)

### checkNotNull

    public static <T> T checkNotNull(T reference,
                                     java.lang.Object errorMessage)

  Ensures that an object reference passed as a parameter to the calling method is not null.

  Parameters:
    `reference` - an object reference
    `errorMessage` - the exception message to use if the check fails; will be converted to a string using `String.valueOf(Object)`
  Returns:
    the non-null reference that was validated
  Throws:
    `java.lang.NullPointerException` - if `reference` is null