[Java] Class BooleanClosureWrapper
- org.codehaus.groovy.runtime.callsite.BooleanClosureWrapper
public class BooleanClosureWrapper extends 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. The purpose of this class is to avoid the slow "asBoolean" call in that method. BooleanReturningMethodInvoker is used for caching.
Constructor Summary
Constructor and description |
---|
BooleanClosureWrapper
(Closure wrapped) |
Methods Summary
Type Params | Return Type | Name and description |
---|---|---|
public boolean |
call(Object args) normal closure call | |
<K, V> | public boolean |
callForMap(Map.Entry<K, V> entry) Bridge for a call based on a map entry. |
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class Object | wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll |
Constructor Detail
public BooleanClosureWrapper(Closure wrapped)
Method Detail
public boolean call(Object args)
normal closure call
<K, V> public boolean callForMap(Map.Entry<K, V> entry)
Bridge for a call based on a map entry. If the call is done on a Closure taking one argument, then we give in the Entry, otherwise we will give in the key and value.
© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/3.0.7/html/gapi/org/codehaus/groovy/runtime/callsite/BooleanClosureWrapper.html