Null
Date: 2015-09-15

org.jmock.expectation

## Class Null

- java.lang.Object
- - org.jmock.expectation.Null

-     public class Null
      extends java.lang.Object

  A class that represents the `null` value. The `Null` class is used when an `Expectation` is set to expect nothing.

  Example usage:

       public class MockX {
          private Expectation... anExpectation = new Expectation...(...);

          public MockX() {
             anExpectation.setExpectNothing();
          }

          public void setAnExpectation(Object value) {
             anExpectation.setExpected(value);
          }

          public void setActual(Object value) {
             anExpectation.setActual(value);
          }
       }

  The act of calling `Expectation.setExpectNothing()` tells the expectation that it should expect no values to change. Since all `Null` objects are equal to themselves, most expectations set their expected value to an instance of `Null`, and at the same time, set their actual value to another instance of `Null`. This way, when `org.jmock.expectation.Verifiable#verify()` checks expectations, they will compare two `Null` objects together, which is guaranteed to succeed.

- - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static java.lang.String` | `DEFAULT_DESCRIPTION` The default description for all `Null` objects.
    `static Null` | `NULL` A default `Null` object.

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Null()` Instantiates a new `Null` object with the default description.
    `Null(java.lang.String description)` Instantiates a new `Null` object and sets it's description.

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `equals(java.lang.Object other)` Determines equality between two objects.
    `int` | `hashCode()` Returns this `Null` object's hashCode.
    `java.lang.String` | `toString()` Returns a string representation of this `Null` object.

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

      `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_DESCRIPTION

          public static final java.lang.String DEFAULT_DESCRIPTION

      The default description for all `Null` objects. This String is equal to "`Null`".
      See Also:
        Constant Field Values

    - #### NULL

          public static final Null NULL

      A default `Null` object. Instead of always instantiating new `Null` objects, consider using a reference to this object instead. This way, the virtual machine will not be taking the time required to instantiate an object everytime it is required.

  - ### Constructor Detail

    - #### Null

          public Null()

      Instantiates a new `Null` object with the default description.
      See Also:
        `DEFAULT_DESCRIPTION`

    - #### Null

          public Null(java.lang.String description)

      Instantiates a new `Null` object and sets it's description.
      Parameters:
        `description` -

  - ### Method Detail

    - #### equals

          public boolean equals(java.lang.Object other)

      Determines equality between two objects. `Null` objects are only equal to another instance of themselves.
      Overrides:
        `equals` in class `java.lang.Object`
      Parameters:
        `other` -

    - #### hashCode

          public int hashCode()

      Returns this `Null` object's hashCode. All `Null` return the same hashCode value.
      Overrides:
        `hashCode` in class `java.lang.Object`

    - #### toString

          public java.lang.String toString()

      Returns a string representation of this `Null` object. This merely returns the string passed to the constructor initially.
      Overrides:
        `toString` in class `java.lang.Object`