Package org.codehaus.groovy.runtime

# Class ConvertedClosure

java.lang.Object
org.codehaus.groovy.runtime.ConversionHandler
org.codehaus.groovy.runtime.ConvertedClosure

All Implemented Interfaces:
  `Serializable`, `InvocationHandler`

public class ConvertedClosure extends ConversionHandler implements Serializable
This class is a general adapter to adapt a closure to any Java interface.

See Also:
  - Serialized Form

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `ConvertedClosure(Closure closure)`
  `ConvertedClosure(Closure closure, String methodName)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `invokeCustom(Object proxy, Method method, Object[] args)`
  This method is called for all Methods not defined on Object.

  ### Methods inherited from class org.codehaus.groovy.runtime.ConversionHandler

  `checkMethod, equals, getDelegate, hashCode, invoke, isCoreObjectMethod, isDefaultMethod, toString`

  ### Methods inherited from class java.lang.Object

  `clone, finalize, getClass, notify, notifyAll, wait, wait, wait`

- ## Constructor Details

  - ### ConvertedClosure

    public ConvertedClosure(Closure closure)
    Throws:
      `IllegalArgumentException` - if closure is null

  - ### ConvertedClosure

    public ConvertedClosure(Closure closure, String methodName)
    Throws:
      `IllegalArgumentException` - if closure is null

- ## Method Details

  - ### invokeCustom

    public Object invokeCustom(Object proxy, Method method, Object[] args) throws Throwable
    Description copied from class: `ConversionHandler`
    This method is called for all Methods not defined on Object. The delegate should be called here.
    Specified by:
      `invokeCustom` in class `ConversionHandler`
    Parameters:
      `proxy` - the proxy
      `method` - the method
      `args` - the arguments
    Returns:
      the result of the invocation of the delegate
    Throws:
      `Throwable` - any exception causes by the delegate
    See Also:
      - `ConversionHandler.invoke(Object, Method, Object[])`
      - `InvocationHandler.invoke(java.lang.Object, java.lang.reflect.Method, java.lang.Object[])`