Package org.codehaus.groovy.runtime.metaclass

# Class NewStaticMetaMethod

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.NewStaticMetaMethod

All Implemented Interfaces:
  `MetaMember`, `Cloneable`

public class NewStaticMetaMethod extends NewMetaMethod
A MetaMethod implementation where the underlying method is really a static helper method on some class. This implementation is used to add new static 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`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `NewStaticMetaMethod(CachedMethod method)`
  Constructs a new NewStaticMetaMethod.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `int`
  `getModifiers()`
  Returns the modifiers for this method (PUBLIC | STATIC).
  `Object`
  `invoke(Object object, Object[] arguments)`
  Invokes the underlying static method with null as the first argument.
  `boolean`
  `isStatic()`
  Indicates 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, 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`

  ### Methods inherited from interface groovy.lang.MetaMember

  `isFinal, isPackagePrivate, isPrivate, isProtected, isPublic, isSynthetic`

- ## Constructor Details

  - ### NewStaticMetaMethod

    public NewStaticMetaMethod(CachedMethod method)
    Constructs a new NewStaticMetaMethod.
    Parameters:
      `method` - the cached static method

- ## Method Details

  - ### isStatic

    public boolean isStatic()
    Indicates this method is static.
    Returns:
      true, as this wraps a static method

  - ### getModifiers

    public int getModifiers()
    Returns the modifiers for this method (PUBLIC | STATIC).
    Specified by:
      `getModifiers` in interface `MetaMember`
    Overrides:
      `getModifiers` in class `ReflectionMetaMethod`
    Returns:
      PUBLIC and STATIC modifiers

  - ### invoke

    public Object invoke(Object object, Object[] arguments)
    Invokes the underlying static method with null as the first argument. This adapts static method calls to the underlying static method signature.
    Overrides:
      `invoke` in class `ReflectionMetaMethod`
    Parameters:
      `object` - the object (ignored for static methods)
      `arguments` - the method arguments
    Returns:
      the method return value