Package org.codehaus.groovy.runtime.callsite

## Class BooleanClosureWrapper

- java.lang.Object
- - 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(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

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `call​(Object... args)` | normal closure call
    `<K,​V> boolean` | `callForMap​(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 Detail

    - #### BooleanClosureWrapper

          public BooleanClosureWrapper​(Closure wrapped)

  - ### Method Detail

    - #### call

          public boolean call​(Object... args)

      normal closure call

    - #### callForMap

          public <K,​V> 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 `Map.Entry`, otherwise we will give in the key and value.