package ch.vorburger.nullable;
/**
* Marker interface to be implemented by "Null Objects".
*
* Classes implementing NullObject are Singletons. Classes implementing NullObject must override
* {@link Nullable#isNull()} to return true.
*
* <p>It is recommended that a sub type of NullObject is created for each "kind" of NullObject type,
* and that the documentation of such subtypes clarifies their exact semantics.
*
* Code must use
* <tt>o instanceof NullObject<tt> (or <tt>o.isNull()<tt>) instead of <tt>o == null<tt>).
*
* @author Michael Vorburger
*/
public interface NullObject extends Nullable {
}