Class BooleanClosureWrapper
java.lang.Object
org.codehaus.groovy.runtime.callsite.BooleanClosureWrapper
public class BooleanClosureWrapper
extends java.lang.Object
Helper class for internal use only. This allows to call a
Closure and
convert the result to a boolean. It will do this by caching the possible "doCall"
as well as the "asBoolean" in CallSiteArray fashion. "asBoolean" will not be
called if the result is null or a Boolean. In case of null we return false and
in case of a Boolean we simply unbox. This logic is designed after the one present
in DefaultTypeTransformation.castToBoolean(Object). The purpose of
this class is to avoid the slow "asBoolean" call in that method.
BooleanReturningMethodInvoker is used for caching.-
Constructor Summary
Constructors Constructor Description BooleanClosureWrapper(Closure wrapped) -
Method Summary
Modifier and Type Method Description booleancall(java.lang.Object... args)normal closure call<K, V> booleancallForMap(java.util.Map.Entry<K,V> entry)Bridge for a call based on a map entry.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
BooleanClosureWrapper
-
-
Method Details
-
call
public boolean call(java.lang.Object... args)normal closure call -
callForMap
public <K, V> boolean callForMap(java.util.Map.Entry<K,V> entry)Bridge for a call based on a map entry. If the call is done on aClosuretaking one argument, then we give in theMap.Entry, otherwise we will give in the key and value.
-