Package: groovy.lang

## [Java] Class DelegatingMetaClass

- groovy.lang.DelegatingMetaClass

- All Implemented Interfaces and Traits:
    GroovyObject, MetaClass, MutableMetaClass

      public class DelegatingMetaClass
      extends Object
      implements GroovyObject, MetaClass, MutableMetaClass

- - ### Field Summary

    Fields
    Modifiers | Name | Description
    --- | --- | ---
    `protected MetaClass` | `delegate` |

  - ### Constructor Summary

    Constructors
    Constructor and description
    `DelegatingMetaClass(MetaClass delegate)`
    `DelegatingMetaClass(Class theClass)`

  - ### Methods Summary

    Methods
    Type Params | Return Type | Name and description
    --- | --- | ---
    `` | `public void` | `addMetaBeanProperty(MetaBeanProperty metaBeanProperty)`
    `` | `public void` | `addMetaMethod(MetaMethod metaMethod)`
    `` | `public void` | `addNewInstanceMethod(Method method)`
    `` | `public void` | `addNewStaticMethod(Method method)`
    `` | `public boolean` | `equals(Object obj)`
    `` | `public MetaClass` | `getAdaptee()`
    `` | `public Object` | `getAttribute(Object object, String attribute)`
    `` | `public Object` | `getAttribute(Class sender, Object receiver, String messageName, boolean useSuper)`
    `` | `public ClassNode` | `getClassNode()`
    `` | `public MetaClass` | `getMetaClass()`
    `` | `public MetaMethod` | `getMetaMethod(String name, Object[] args)`
    `` | `public List<MetaMethod>` | `getMetaMethods()`
    `` | `public MetaProperty` | `getMetaProperty(String name)`
    `` | `public List<MetaMethod>` | `getMethods()`
    `` | `public List<MetaProperty>` | `getProperties()`
    `` | `public Object` | `getProperty(Object object, String property)`
    `` | `public Object` | `getProperty(Class sender, Object receiver, String messageName, boolean useSuper, boolean fromInsideClass)`
    `` | `public Object` | `getProperty(String property)`
    `` | `public MetaMethod` | `getStaticMetaMethod(String name, Object[] args)`
    `` | `public MetaMethod` | `getStaticMetaMethod(String name, Class[] argTypes)`
    `` | `public Class` | `getTheClass()`
    `` | `public MetaProperty` | `hasProperty(Object obj, String name)`
    `` | `public int` | `hashCode()`
    `` | `public void` | `initialize()`
    `` | `public Object` | `invokeConstructor(Object[] arguments)`
    `` | `public Object` | `invokeMethod(Object object, String methodName, Object arguments)`
    `` | `public Object` | `invokeMethod(Object object, String methodName, Object[] arguments)`
    `` | `public Object` | `invokeMethod(Class sender, Object receiver, String methodName, Object[] arguments, boolean isCallToSuper, boolean fromInsideClass)`
    `` | `public Object` | `invokeMethod(String name, Object args)`
    `` | `public Object` | `invokeMissingMethod(Object instance, String methodName, Object[] arguments)`
    `` | `public Object` | `invokeMissingProperty(Object instance, String propertyName, Object optionalValue, boolean isGetter)`
    `` | `public Object` | `invokeStaticMethod(Object object, String methodName, Object[] arguments)`
    `` | `public boolean` | `isGroovyObject()`
    `` | `public boolean` | `isModified()`
    `` | `public MetaMethod` | `pickMethod(String methodName, Class[] arguments)` @deprecated
    `` | `public List<MetaMethod>` | `respondsTo(Object obj, String name, Object[] argTypes)`
    `` | `public List<MetaMethod>` | `respondsTo(Object obj, String name)`
    `` | `public int` | `selectConstructorAndTransformArguments(int numberOfConstructors, Object[] arguments)`
    `` | `public void` | `setAdaptee(MetaClass adaptee)`
    `` | `public void` | `setAttribute(Object object, String attribute, Object newValue)`
    `` | `public void` | `setAttribute(Class sender, Object receiver, String messageName, Object messageValue, boolean useSuper, boolean fromInsideClass)`
    `` | `public void` | `setMetaClass(MetaClass metaClass)`
    `` | `public void` | `setProperty(Object object, String property, Object newValue)`
    `` | `public void` | `setProperty(Class sender, Object receiver, String messageName, Object messageValue, boolean useSuper, boolean fromInsideClass)`
    `` | `public void` | `setProperty(String property, Object newValue)`
    `` | `public String` | `toString()`

  - ### Inherited Methods Summary

    Inherited Methods
    Methods inherited from class | Name
    --- | ---
    `class Object` | `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### protected MetaClass delegate

  - ### Constructor Detail

    - #### public DelegatingMetaClass(MetaClass delegate)

    - #### public DelegatingMetaClass(Class theClass)

  - ### Method Detail

    - #### @Override
      public void addMetaBeanProperty(MetaBeanProperty metaBeanProperty)

    - #### @Override
      public void addMetaMethod(MetaMethod metaMethod)

    - #### @Override
      public void addNewInstanceMethod(Method method)

    - #### @Override
      public void addNewStaticMethod(Method method)

    - #### @Override
      public boolean equals(Object obj)

    - #### public MetaClass getAdaptee()

    - #### @Override
      public Object getAttribute(Object object, String attribute)

    - #### @Override
      public Object getAttribute(Class sender, Object receiver, String messageName, boolean useSuper)

    - #### @Override
      public ClassNode getClassNode()

    - #### @Override
      public MetaClass getMetaClass()

    - #### @Override
      public MetaMethod getMetaMethod(String name, Object[] args)

    - #### @Override
      public List<MetaMethod> getMetaMethods()

    - #### @Override
      public MetaProperty getMetaProperty(String name)

    - #### @Override
      public List<MetaMethod> getMethods()

    - #### @Override
      public List<MetaProperty> getProperties()

    - #### @Override
      public Object getProperty(Object object, String property)

    - #### @Override
      public Object getProperty(Class sender, Object receiver, String messageName, boolean useSuper, boolean fromInsideClass)

    - #### @Override
      public Object getProperty(String property)

    - #### @Override
      public MetaMethod getStaticMetaMethod(String name, Object[] args)

    - #### public MetaMethod getStaticMetaMethod(String name, Class[] argTypes)

    - #### @Override
      public Class getTheClass()

    - #### @Override
      public MetaProperty hasProperty(Object obj, String name)

    - #### @Override
      public int hashCode()

    - #### @Override
      public void initialize()

    - #### @Override
      public Object invokeConstructor(Object[] arguments)

    - #### @Override
      public Object invokeMethod(Object object, String methodName, Object arguments)

    - #### @Override
      public Object invokeMethod(Object object, String methodName, Object[] arguments)

    - #### @Override
      public Object invokeMethod(Class sender, Object receiver, String methodName, Object[] arguments, boolean isCallToSuper, boolean fromInsideClass)

    - #### @Override
      public Object invokeMethod(String name, Object args)

    - #### @Override
      public Object invokeMissingMethod(Object instance, String methodName, Object[] arguments)

    - #### @Override
      public Object invokeMissingProperty(Object instance, String propertyName, Object optionalValue, boolean isGetter)

    - #### @Override
      public Object invokeStaticMethod(Object object, String methodName, Object[] arguments)

    - #### public boolean isGroovyObject()

    - #### @Override
      public boolean isModified()

    - #### @Override
      @Deprecated
      public MetaMethod pickMethod(String methodName, Class[] arguments)

      deprecated:

    - #### @Override
      public List<MetaMethod> respondsTo(Object obj, String name, Object[] argTypes)

    - #### @Override
      public List<MetaMethod> respondsTo(Object obj, String name)

    - #### @Override
      public int selectConstructorAndTransformArguments(int numberOfConstructors, Object[] arguments)

    - #### public void setAdaptee(MetaClass adaptee)

    - #### @Override
      public void setAttribute(Object object, String attribute, Object newValue)

    - #### @Override
      public void setAttribute(Class sender, Object receiver, String messageName, Object messageValue, boolean useSuper, boolean fromInsideClass)

    - #### @Override
      public void setMetaClass(MetaClass metaClass)

    - #### @Override
      public void setProperty(Object object, String property, Object newValue)

    - #### @Override
      public void setProperty(Class sender, Object receiver, String messageName, Object messageValue, boolean useSuper, boolean fromInsideClass)

    - #### @Override
      public void setProperty(String property, Object newValue)

    - #### @Override
      public String toString()