Package com.google.android.exoplayer2.util

## Class Assertions

- java.lang.Object
- - com.google.android.exoplayer2.util.Assertions

-     public final class Assertions
      extends Object

  Provides methods for asserting the truth of expressions and properties.

- - ### Method Summary

    All Methods Static Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `static void` | `checkArgument​(boolean expression)` | Throws `IllegalArgumentException` if `expression` evaluates to false.
    `static void` | `checkArgument​(boolean expression, Object errorMessage)` | Throws `IllegalArgumentException` if `expression` evaluates to false.
    `static int` | `checkIndex​(int index, int start, int limit)` | Throws `IndexOutOfBoundsException` if `index` falls outside the specified bounds.
    `static void` | `checkMainThread()` | Throws `IllegalStateException` if the calling thread is not the application's main thread.
    `static String` | `checkNotEmpty​(String string)` | Throws `IllegalArgumentException` if `string` is null or zero length.
    `static String` | `checkNotEmpty​(String string, Object errorMessage)` | Throws `IllegalArgumentException` if `string` is null or zero length.
    `static <T> T` | `checkNotNull​(T reference)` | Throws `NullPointerException` if `reference` is null.
    `static <T> T` | `checkNotNull​(T reference, Object errorMessage)` | Throws `NullPointerException` if `reference` is null.
    `static void` | `checkState​(boolean expression)` | Throws `IllegalStateException` if `expression` evaluates to false.
    `static void` | `checkState​(boolean expression, Object errorMessage)` | Throws `IllegalStateException` if `expression` evaluates to false.
    `static <T> T` | `checkStateNotNull​(T reference)` | Throws `IllegalStateException` if `reference` is null.
    `static <T> T` | `checkStateNotNull​(T reference, Object errorMessage)` | Throws `IllegalStateException` if `reference` is null.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Method Detail

    - #### checkArgument

          @Pure
          public static void checkArgument​(boolean expression)

      Throws `IllegalArgumentException` if `expression` evaluates to false.
      Parameters:
        `expression` - The expression to evaluate.
      Throws:
        `IllegalArgumentException` - If `expression` is false.

    - #### checkArgument

          @Pure
          public static void checkArgument​(boolean expression,
                                           Object errorMessage)

      Throws `IllegalArgumentException` if `expression` evaluates to false.
      Parameters:
        `expression` - The expression to evaluate.
        `errorMessage` - The exception message if an exception is thrown. The message is converted to a `String` using `String.valueOf(Object)`.
      Throws:
        `IllegalArgumentException` - If `expression` is false.

    - #### checkIndex

          @Pure
          public static int checkIndex​(int index,
                                       int start,
                                       int limit)

      Throws `IndexOutOfBoundsException` if `index` falls outside the specified bounds.
      Parameters:
        `index` - The index to test.
        `start` - The start of the allowed range (inclusive).
        `limit` - The end of the allowed range (exclusive).
      Returns:
        The `index` that was validated.
      Throws:
        `IndexOutOfBoundsException` - If `index` falls outside the specified bounds.

    - #### checkState

          @Pure
          public static void checkState​(boolean expression)

      Throws `IllegalStateException` if `expression` evaluates to false.
      Parameters:
        `expression` - The expression to evaluate.
      Throws:
        `IllegalStateException` - If `expression` is false.

    - #### checkState

          @Pure
          public static void checkState​(boolean expression,
                                        Object errorMessage)

      Throws `IllegalStateException` if `expression` evaluates to false.
      Parameters:
        `expression` - The expression to evaluate.
        `errorMessage` - The exception message if an exception is thrown. The message is converted to a `String` using `String.valueOf(Object)`.
      Throws:
        `IllegalStateException` - If `expression` is false.

    - #### checkStateNotNull

          @EnsuresNonNull("#1")
          @Pure
          public static <T> T checkStateNotNull​(@Nullable
                                                T reference)

      Throws `IllegalStateException` if `reference` is null.
      Type Parameters:
        `T` - The type of the reference.
      Parameters:
        `reference` - The reference.
      Returns:
        The non-null reference that was validated.
      Throws:
        `IllegalStateException` - If `reference` is null.

    - #### checkStateNotNull

          @EnsuresNonNull("#1")
          @Pure
          public static <T> T checkStateNotNull​(@Nullable
                                                T reference,
                                                Object errorMessage)

      Throws `IllegalStateException` if `reference` is null.
      Type Parameters:
        `T` - The type of the reference.
      Parameters:
        `reference` - The reference.
        `errorMessage` - The exception message to use if the check fails. The message is converted to a string using `String.valueOf(Object)`.
      Returns:
        The non-null reference that was validated.
      Throws:
        `IllegalStateException` - If `reference` is null.

    - #### checkNotNull

          @EnsuresNonNull("#1")
          @Pure
          public static <T> T checkNotNull​(@Nullable
                                           T reference)

      Throws `NullPointerException` if `reference` is null.
      Type Parameters:
        `T` - The type of the reference.
      Parameters:
        `reference` - The reference.
      Returns:
        The non-null reference that was validated.
      Throws:
        `NullPointerException` - If `reference` is null.

    - #### checkNotNull

          @EnsuresNonNull("#1")
          @Pure
          public static <T> T checkNotNull​(@Nullable
                                           T reference,
                                           Object errorMessage)

      Throws `NullPointerException` if `reference` is null.
      Type Parameters:
        `T` - The type of the reference.
      Parameters:
        `reference` - The reference.
        `errorMessage` - The exception message to use if the check fails. The message is converted to a string using `String.valueOf(Object)`.
      Returns:
        The non-null reference that was validated.
      Throws:
        `NullPointerException` - If `reference` is null.

    - #### checkNotEmpty

          @EnsuresNonNull("#1")
          @Pure
          public static String checkNotEmpty​(@Nullable
                                             String string)

      Throws `IllegalArgumentException` if `string` is null or zero length.
      Parameters:
        `string` - The string to check.
      Returns:
        The non-null, non-empty string that was validated.
      Throws:
        `IllegalArgumentException` - If `string` is null or 0-length.

    - #### checkNotEmpty

          @EnsuresNonNull("#1")
          @Pure
          public static String checkNotEmpty​(@Nullable
                                             String string,
                                             Object errorMessage)

      Throws `IllegalArgumentException` if `string` is null or zero length.
      Parameters:
        `string` - The string to check.
        `errorMessage` - The exception message to use if the check fails. The message is converted to a string using `String.valueOf(Object)`.
      Returns:
        The non-null, non-empty string that was validated.
      Throws:
        `IllegalArgumentException` - If `string` is null or 0-length.

    - #### checkMainThread

          @Pure
          public static void checkMainThread()

      Throws `IllegalStateException` if the calling thread is not the application's main thread.
      Throws:
        `IllegalStateException` - If the calling thread is not the application's main thread.