Package org.codehaus.groovy.runtime.metaclass

# Class MixedInMetaClass

java.lang.Object
groovy.lang.DelegatingMetaClass
org.codehaus.groovy.runtime.metaclass.OwnedMetaClass
org.codehaus.groovy.runtime.metaclass.MixedInMetaClass

All Implemented Interfaces:
  `GroovyObject`, `MetaClass`, `MetaObjectProtocol`, `MutableMetaClass`

    public class MixedInMetaClass
    extends OwnedMetaClass

- ## Field Summary

  ### Fields inherited from class groovy.lang.DelegatingMetaClass

  `delegate`

- ## Constructor Summary

  Constructors
  Constructor | Description
  --- | ---
  `MixedInMetaClass​(java.lang.Object instance, java.lang.Object owner)` |

- ## Method Summary

  Modifier and Type | Method | Description
  --- | --- | ---
  `protected java.lang.Object` | `getOwner()` |
  `protected MetaClass` | `getOwnerMetaClass​(java.lang.Object owner)` |
  `java.lang.Object` | `invokeMethod​(java.lang.Class sender, java.lang.Object receiver, java.lang.String methodName, java.lang.Object[] arguments, boolean isCallToSuper, boolean fromInsideClass)` | Invokes a method on the given receiver for the specified arguments.

  ### Methods inherited from class org.codehaus.groovy.runtime.metaclass.OwnedMetaClass

  `equals, getAttribute, getAttribute, getClassNode, getMetaMethod, getMetaMethod, getMetaMethods, getMetaProperty, getMethods, getProperties, getProperty, getProperty, getStaticMetaMethod, getStaticMetaMethod, getTheClass, hashCode, hasProperty, invokeConstructor, invokeMethod, invokeMethod, invokeMissingMethod, invokeMissingProperty, invokeStaticMethod, isGroovyObject, respondsTo, respondsTo, selectConstructorAndTransformArguments, setAttribute, setAttribute, setProperty, setProperty, toString`

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

  `addMetaBeanProperty, addMetaMethod, addNewInstanceMethod, addNewStaticMethod, getAdaptee, getMetaClass, getProperty, initialize, invokeMethod, isModified, pickMethod, setAdaptee, setMetaClass, setProperty`

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

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

- ## Constructor Details

  - ### MixedInMetaClass

    public MixedInMetaClass​(java.lang.Object instance, java.lang.Object owner)

- ## Method Details

  - ### getOwner

    protected java.lang.Object getOwner()
    Specified by:
      `getOwner` in class `OwnedMetaClass`

  - ### getOwnerMetaClass

    protected MetaClass getOwnerMetaClass​(java.lang.Object owner)
    Specified by:
      `getOwnerMetaClass` in class `OwnedMetaClass`

  - ### invokeMethod

    public java.lang.Object invokeMethod​(java.lang.Class sender, java.lang.Object receiver, java.lang.String methodName, java.lang.Object[] arguments, boolean isCallToSuper, boolean fromInsideClass)
    Description copied from interface: `MetaClass`

    Invokes a method on the given receiver for the specified arguments. The sender is the class that invoked the method on the object. The MetaClass will attempt to establish the method to invoke based on the name and arguments provided.

    The isCallToSuper and fromInsideClass help the Groovy runtime perform optimisations on the call to go directly to the super class if necessary

    Specified by:
      `invokeMethod` in interface `MetaClass`
    Overrides:
      `invokeMethod` in class `OwnedMetaClass`
    Parameters:
      `sender` - The java.lang.Class instance that invoked the method
      `receiver` - The object which the method was invoked on
      `methodName` - The name of the method
      `arguments` - The arguments to the method
      `isCallToSuper` - Whether the method is a call to a super class method
      `fromInsideClass` - Whether the call was invoked from the inside or the outside of the class
    Returns:
      The return value of the method