Package org.codehaus.groovy.runtime
Class NullObject
java.lang.Object
groovy.lang.GroovyObjectSupport
org.codehaus.groovy.runtime.NullObject
- All Implemented Interfaces:
 GroovyObject
public class NullObject extends GroovyObjectSupport
- 
Method Summary
Modifier and Type Method Description booleanasBoolean()A null object always coerces to false.java.lang.ObjectasType(java.lang.Class c)Type conversion method for null.java.lang.Objectclone()Since this is implemented as a singleton, we should avoid the use of the clone methodbooleanequals(java.lang.Object to)null is only equal to nullstatic NullObjectgetNullObject()get the NullObject referencejava.lang.ObjectgetProperty(java.lang.String property)Tries to get a property on null, which will always failinthashCode()java.lang.ObjectinvokeMethod(java.lang.String name, java.lang.Object args)Tries to invoke a method on null, which will always failbooleanis(java.lang.Object other)The method "is" is used to test for equal references.java.util.Iteratoriterator()iterator() method to be able to iterate on null.java.lang.Objectplus(java.lang.Object o)Fallback for null+null.java.lang.Objectplus(java.lang.String s)Allows to add a String to null.voidsetProperty(java.lang.String property, java.lang.Object newValue)Tries to set a property on null, which will always failjava.lang.StringtoString()<T> Twith(Closure<T> closure)Allows the closure to be called for NullObjectMethods inherited from class groovy.lang.GroovyObjectSupport
getMetaClass, setMetaClassMethods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait 
- 
Method Details
- 
getNullObject
get the NullObject reference- Returns:
 - the null object
 
 - 
clone
public java.lang.Object clone()Since this is implemented as a singleton, we should avoid the use of the clone method- Overrides:
 clonein classjava.lang.Object
 - 
getProperty
public java.lang.Object getProperty(java.lang.String property)Tries to get a property on null, which will always fail- Parameters:
 property- - the property to get- Returns:
 - a NPE
 
 - 
with
Allows the closure to be called for NullObject- Parameters:
 closure- the closure to call on the object- Returns:
 - result of calling the closure
 
 - 
setProperty
public void setProperty(java.lang.String property, java.lang.Object newValue)Tries to set a property on null, which will always fail- Parameters:
 property- - the proprty to setnewValue- - the new value of the property
 - 
invokeMethod
public java.lang.Object invokeMethod(java.lang.String name, java.lang.Object args)Tries to invoke a method on null, which will always fail- Parameters:
 name- the name of the method to invokeargs- - arguments to the method- Returns:
 - a NPE
 
 - 
equals
public boolean equals(java.lang.Object to)null is only equal to null- Overrides:
 equalsin classjava.lang.Object- Parameters:
 to- - the reference object with which to compare- Returns:
 - - true if this object is the same as the to argument
 
 - 
iterator
public java.util.Iterator iterator()iterator() method to be able to iterate on null. Note: this part is from Invoker- Returns:
 - an iterator for an empty list
 
 - 
plus
public java.lang.Object plus(java.lang.String s)Allows to add a String to null. The result is concatenated String of the result of calling toString() on this object and the String in the parameter.- Parameters:
 s- - the String to concatenate- Returns:
 - the concatenated string
 
 - 
plus
public java.lang.Object plus(java.lang.Object o)Fallback for null+null. The result is always a NPE. The plus(String) version will catch the case of adding a non null String to null.- Parameters:
 o- - the Object- Returns:
 - nothing
 
 - 
is
public boolean is(java.lang.Object other)The method "is" is used to test for equal references. This method will return true only if the given parameter is null- Parameters:
 other- - the object to test- Returns:
 - true if other is null
 
 - 
asType
public java.lang.Object asType(java.lang.Class c)Type conversion method for null.- Parameters:
 c- - the class to convert to- Returns:
 - always null
 
 - 
asBoolean
public boolean asBoolean()A null object always coerces to false.- Returns:
 - false
 
 - 
toString
public java.lang.String toString()- Overrides:
 toStringin classjava.lang.Object
 - 
hashCode
public int hashCode()- Overrides:
 hashCodein classjava.lang.Object
 
 -