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.

Author:
  James Strachan

## 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 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 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 Details

### NewInstanceMetaMethod

public NewInstanceMetaMethod(CachedMethod method)

## Method Details

### 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 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