Class Contract


  • public class Contract
    extends java.lang.Object
    Utility class for checking contracts.
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
      private Contract()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static <T> T asNotNull​(T input, java.lang.String message)
      Tests the input parameter against null.
      • Methods inherited from class java.lang.Object

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

      • Contract

        private Contract()
    • Method Detail

      • asNotNull

        public static <T> T asNotNull​(T input,
                                      java.lang.String message)
        Tests the input parameter against null. If the input is an array, checks all of its elements as well. Returns the unchanged parameter if not null, throws a NullPointerException otherwise.

        PENDING: type of exception? there are raging debates, some favour an IllegalArgument?

        PENDING: the implementation uses a unchecked type cast to an array. can we do better, how?

        Type Parameters:
        T - the type of the input parameter
        Parameters:
        input - the argument to check against null.
        message - the text of the exception if the argument is null
        Returns:
        the input if not null
        Throws:
        java.lang.NullPointerException - if input is null