groovy.lang
Class MetaMethod

java.lang.Object
  extended by org.codehaus.groovy.reflection.ParameterTypes
      extended by groovy.lang.MetaMethod
All Implemented Interfaces:
java.lang.Cloneable
Direct Known Subclasses:
CachedMethod, CallSiteAwareMetaMethod, ClosureMetaMethod, ClosureStaticMetaMethod, GeneratedMetaMethod, MixinInstanceMetaMethod, ReflectionMetaMethod, TransformMetaMethod

public abstract class MetaMethod
extends ParameterTypes
implements java.lang.Cloneable

Represents a Method on a Java object a little like Method except without using reflection to invoke the method


Field Summary
 
Fields inherited from class org.codehaus.groovy.reflection.ParameterTypes
isVargsMethod, nativeParamTypes, parameterTypes
 
Constructor Summary
MetaMethod()
           
MetaMethod(java.lang.Class[] pt)
           
 
Method Summary
 void checkParameters(java.lang.Class[] arguments)
          Checks that the given parameters are valid to call this method
 java.lang.Object clone()
           
 java.lang.Object doMethodInvoke(java.lang.Object object, java.lang.Object[] argumentArray)
           
protected static boolean equal(CachedClass[] a, CachedClass[] b)
           
protected static boolean equal(CachedClass[] a, java.lang.Class[] b)
           
abstract  CachedClass getDeclaringClass()
           
 java.lang.String getDescriptor()
           
abstract  int getModifiers()
           
 java.lang.String getMopName()
           
abstract  java.lang.String getName()
           
abstract  java.lang.Class getReturnType()
           
 java.lang.String getSignature()
           
abstract  java.lang.Object invoke(java.lang.Object object, java.lang.Object[] arguments)
           
 boolean isAbstract()
           
 boolean isCacheable()
           
 boolean isMethod(MetaMethod method)
           
 boolean isPrivate()
           
 boolean isProtected()
           
 boolean isPublic()
           
 boolean isSame(MetaMethod method)
           
 boolean isStatic()
           
 java.lang.RuntimeException processDoMethodInvokeException(java.lang.Exception e, java.lang.Object object, java.lang.Object[] argumentArray)
           
 java.lang.String toString()
           
 
Methods inherited from class org.codehaus.groovy.reflection.ParameterTypes
coerceArgumentsToClasses, correctArguments, getNativeParameterTypes, getParameterTypes, getPT, 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

MetaMethod

public MetaMethod()

MetaMethod

public MetaMethod(java.lang.Class[] pt)
Method Detail

getModifiers

public abstract int getModifiers()

getName

public abstract java.lang.String getName()

getReturnType

public abstract java.lang.Class getReturnType()

getDeclaringClass

public abstract CachedClass getDeclaringClass()

invoke

public abstract java.lang.Object invoke(java.lang.Object object,
                                        java.lang.Object[] arguments)

checkParameters

public void checkParameters(java.lang.Class[] arguments)
Checks that the given parameters are valid to call this method

Parameters:
arguments - the arguments to check
Throws:
java.lang.IllegalArgumentException - if the parameters are not valid

isMethod

public boolean isMethod(MetaMethod method)

equal

protected static boolean equal(CachedClass[] a,
                               java.lang.Class[] b)

equal

protected static boolean equal(CachedClass[] a,
                               CachedClass[] b)

toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object

clone

public java.lang.Object clone()
Overrides:
clone in class java.lang.Object

isStatic

public boolean isStatic()

isAbstract

public boolean isAbstract()

isPrivate

public final boolean isPrivate()

isProtected

public final boolean isProtected()

isPublic

public final boolean isPublic()

isSame

public final boolean isSame(MetaMethod method)
Parameters:
method - the method to compare against
Returns:
true if the given method has the same name, parameters, return type and modifiers but may be defined on another type

isCacheable

public boolean isCacheable()

getDescriptor

public java.lang.String getDescriptor()

getSignature

public java.lang.String getSignature()

getMopName

public java.lang.String getMopName()

processDoMethodInvokeException

public final java.lang.RuntimeException processDoMethodInvokeException(java.lang.Exception e,
                                                                       java.lang.Object object,
                                                                       java.lang.Object[] argumentArray)

doMethodInvoke

public java.lang.Object doMethodInvoke(java.lang.Object object,
                                       java.lang.Object[] argumentArray)