Package groovy.util

# Class Proxy

java.lang.Object
groovy.lang.GroovyObjectSupport
groovy.util.Proxy

All Implemented Interfaces:
  `GroovyObject`

public class Proxy extends GroovyObjectSupport
Dynamic groovy proxy for another object. All method invocations get forwarded to actual object, unless the proxy overrides it. See groovy/util/ProxyTest.groovy for usage details.

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Proxy()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `Object`
  `getAdaptee()`
  Returns the wrapped adaptee.
  `Object`
  `invokeMethod(String name, Object args)`
  Invokes a proxy method or forwards the call to the adaptee.
  `Iterator`
  `iterator()`
  Returns an iterator over the adaptee.
  `void`
  `setAdaptee(Object adaptee)`
  Sets the wrapped adaptee.
  `Proxy`
  `wrap(Object adaptee)`
  This method is for convenience.

  ### Methods inherited from class groovy.lang.GroovyObjectSupport

  `getMetaClass, setMetaClass`

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

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

  ### Methods inherited from interface groovy.lang.GroovyObject

  `getProperty, setProperty`

- ## Constructor Details

  - ### Proxy

    public Proxy()

- ## Method Details

  - ### wrap

    public Proxy wrap(Object adaptee)
    This method is for convenience. It allows to get around the need for defining dump ctors in subclasses. See unit tests for details.

  - ### getAdaptee

    public Object getAdaptee()
    Returns the wrapped adaptee.
    Returns:
      the adaptee

  - ### setAdaptee

    public void setAdaptee(Object adaptee)
    Sets the wrapped adaptee.
    Parameters:
      `adaptee` - the adaptee to wrap

  - ### invokeMethod

    public Object invokeMethod(String name, Object args)
    Invokes a proxy method or forwards the call to the adaptee.
    Parameters:
      `name` - the method name
      `args` - the invocation arguments
    Returns:
      the invocation result

  - ### iterator

    public Iterator iterator()
    Returns an iterator over the adaptee.
    Returns:
      an iterator for the adaptee