NewInstanceMetaMethod (Groovy 2.5.0)
Date: 2018-05-27

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:
    java.lang.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 and Description
    `NewInstanceMetaMethod(CachedMethod method)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `int` | `getModifiers()` Returns the modifiers for this method
    `java.lang.Object` | `invoke(java.lang.Object object, java.lang.Object[] arguments)` Invoke this method
    `boolean` | `isStatic()` Returns whether or not 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, 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 Detail

    - #### NewInstanceMetaMethod

          public NewInstanceMetaMethod(CachedMethod method)

  - ### Method Detail

    - #### isStatic

          public boolean isStatic()

      Description copied from class: `MetaMethod`
      Returns whether or not 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 java.lang.Object invoke(java.lang.Object object,
                                         java.lang.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