Package org.codehaus.groovy.runtime.metaclass

# Class NewInstanceMetaMethod

java.lang.Object
org.codehaus.groovy.reflection.ParameterTypes
groovy.lang.MetaMethod
org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod
org.codehaus.groovy.runtime.metaclass.NewMetaMethod
org.codehaus.groovy.runtime.metaclass.NewInstanceMetaMethod

All Implemented Interfaces:
  `Cloneable`

Direct Known Subclasses:
  `GroovyCategorySupport.CategoryMethod`

public class NewInstanceMetaMethod extends NewMetaMethod
A MetaMethod implementation where the underlying method is really a static helper method on some class but it appears to be an instance method on a class. This implementation is used to add new methods to the JDK writing them as normal static methods with the first parameter being the class on which the method is added.

- ## Field Summary

  ### Fields inherited from class org.codehaus.groovy.runtime.metaclass.NewMetaMethod

  `bytecodeParameterTypes, EMPTY_TYPE_ARRAY`

  ### Fields inherited from class org.codehaus.groovy.runtime.metaclass.ReflectionMetaMethod

  `method`

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

  `EMPTY_ARRAY`

  ### Fields inherited from class org.codehaus.groovy.reflection.ParameterTypes

  `isVargsMethod, nativeParamTypes, parameterTypes`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `NewInstanceMetaMethod(CachedMethod method)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getModifiers()`
  Returns the modifiers for this method
  `Object`
  `invoke(Object object, Object[] arguments)`
  Invoke this method
  `boolean`
  `isStatic()`
  Returns whether this method is static.

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

  `getBytecodeParameterTypes, getDeclaringClass, getOwnerClass`

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

  `getCachedMethod, getName, getPT, getReturnType, toString`

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

  `checkParameters, clone, doMethodInvoke, equal, equal, getDescriptor, getMopName, getSignature, isAbstract, isCacheable, isDefault, isMethod, isPrivate, isProtected, isPublic, isSame, processDoMethodInvokeException`

  ### Methods inherited from class org.codehaus.groovy.reflection.ParameterTypes

  `coerceArgumentsToClasses, correctArguments, getNativeParameterTypes, getParameterTypes, isValidExactMethod, isValidExactMethod, isValidMethod, isValidMethod, isVargsMethod, isVargsMethod, setParametersTypes`

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

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

- ## Constructor Details

  - ### NewInstanceMetaMethod

    public NewInstanceMetaMethod(CachedMethod method)

- ## Method Details

  - ### isStatic

    public boolean isStatic()
    Description copied from class: `MetaMethod`
    Returns whether this method is static.
    Overrides:
      `isStatic` in class `MetaMethod`
    Returns:
      true if this method is static

  - ### getModifiers

    public int getModifiers()
    Description copied from class: `MetaMethod`
    Returns the modifiers for this method
    Overrides:
      `getModifiers` in class `ReflectionMetaMethod`
    Returns:
      modifiers as an int.

  - ### invoke

    public Object invoke(Object object, Object[] arguments)
    Description copied from class: `MetaMethod`
    Invoke this method
    Overrides:
      `invoke` in class `ReflectionMetaMethod`
    Parameters:
      `object` - The object this method should be invoked on
      `arguments` - The arguments for the method if applicable
    Returns:
      The return value of the invocation