Class Assertions


  • public final class Assertions
    extends Object

    Design by contract assertions.

    This class is not part of the public API and may be removed or changed at any time.

    All assert... methods throw AssertionError and should be used to check conditions which may be violated if and only if the driver code is incorrect. The intended usage of this methods is the same as of the Java assert statement. The reason for not using the assert statements is that they are not always enabled. We prefer having internal checks always done at the cost of our code doing a relatively small amount of additional work in production. The assert... methods return values to open possibilities of being used fluently.
    • Method Detail

      • notNull

        public static <T> T notNull​(String name,
                                    T value)
        Throw IllegalArgumentException if the value is null.
        Type Parameters:
        T - the value type
        Parameters:
        name - the parameter name
        value - the value that should not be null
        Returns:
        the value
        Throws:
        IllegalArgumentException - if value is null
      • notNull

        public static <T> T notNull​(String name,
                                    T value,
                                    com.mongodb.internal.async.SingleResultCallback<?> callback)
        Throw IllegalArgumentException if the value is null.
        Type Parameters:
        T - the value type
        Parameters:
        name - the parameter name
        value - the value that should not be null
        callback - the callback that also is passed the exception if the value is null
        Returns:
        the value
        Throws:
        IllegalArgumentException - if value is null
      • isTrue

        public static void isTrue​(String name,
                                  boolean condition)
        Throw IllegalStateException if the condition if false.
        Parameters:
        name - the name of the state that is being checked
        condition - the condition about the parameter to check
        Throws:
        IllegalStateException - if the condition is false
      • isTrue

        public static void isTrue​(String name,
                                  boolean condition,
                                  com.mongodb.internal.async.SingleResultCallback<?> callback)
        Throw IllegalStateException if the condition if false.
        Parameters:
        name - the name of the state that is being checked
        condition - the condition about the parameter to check
        callback - the callback that also is passed the exception if the condition is not true
        Throws:
        IllegalStateException - if the condition is false
      • isTrueArgument

        public static void isTrueArgument​(String name,
                                          boolean condition)
        Throw IllegalArgumentException if the condition if false.
        Parameters:
        name - the name of the state that is being checked
        condition - the condition about the parameter to check
        Throws:
        IllegalArgumentException - if the condition is false
      • doesNotContainNull

        public static void doesNotContainNull​(String name,
                                              Collection<?> collection)
        Throw IllegalArgumentException if the collection contains a null value.
        Parameters:
        name - the name of the collection
        collection - the collection
        Throws:
        IllegalArgumentException - if the collection contains a null value
      • assertNull

        @Nullable
        public static <T> T assertNull​(@Nullable
                                       T value)
                                throws AssertionError
        Type Parameters:
        T - The type of value.
        Parameters:
        value - A value to check.
        Returns:
        null.
        Throws:
        AssertionError - If value is not null.
      • assertNotNull

        public static <T> T assertNotNull​(@Nullable
                                          T value)
                                   throws AssertionError
        Type Parameters:
        T - The type of value.
        Parameters:
        value - A value to check.
        Returns:
        value
        Throws:
        AssertionError - If value is null.
      • assertTrue

        public static boolean assertTrue​(boolean value)
                                  throws AssertionError
        Parameters:
        value - A value to check.
        Returns:
        true.
        Throws:
        AssertionError - If value is false.
      • assertFalse

        public static boolean assertFalse​(boolean value)
                                   throws AssertionError
        Parameters:
        value - A value to check.
        Returns:
        false.
        Throws:
        AssertionError - If value is true.