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
All Methods Static Methods Instance Methods Concrete Methods 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 NullObject-
Methods inherited from class groovy.lang.GroovyObjectSupport
getMetaClass, setMetaClass
-
-
-
-
Method Detail
-
getNullObject
public static NullObject 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- Specified by:
getPropertyin interfaceGroovyObject- Overrides:
getPropertyin classGroovyObjectSupport- Parameters:
property- - the property to get- Returns:
- a NPE
-
with
public <T> T with(Closure<T> closure)
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- Specified by:
setPropertyin interfaceGroovyObject- Overrides:
setPropertyin classGroovyObjectSupport- 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- Specified by:
invokeMethodin interfaceGroovyObject- Overrides:
invokeMethodin classGroovyObjectSupport- 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
-
-