Package groovy.lang
Class MetaMethod
java.lang.Object
org.codehaus.groovy.reflection.ParameterTypes
groovy.lang.MetaMethod
- All Implemented Interfaces:
MetaMember
,Cloneable
- Direct Known Subclasses:
CachedMethod
,CallSiteAwareMetaMethod
,ClosureMetaMethod
,ClosureStaticMetaMethod
,GeneratedMetaMethod
,MetaClassImpl.MetaConstructor
,MixinInstanceMetaMethod
,ReflectionMetaMethod
,TransformMetaMethod
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
ConstructorDescriptionConstructor for a metamethod with an empty parameter list.MetaMethod
(Class[] pt) Constructor with a list of parameter classes. -
Method Summary
Modifier and TypeMethodDescriptionvoid
checkParameters
(Class[] arguments) Checks that the given parameters are valid to call this method.clone()
doMethodInvoke
(Object object, Object[] arguments) Invokes the method this object represents.protected static boolean
equal
(CachedClass[] a, Class[] b) protected static boolean
equal
(CachedClass[] a, CachedClass[] b) abstract CachedClass
Gets the class where this method is declared.Returns a descriptor of this method based on the return type and parameters of this method.abstract int
Returns the modifiers of this method.abstract String
getName()
Returns the name of this method.abstract Class
Returns the return type for this method.Returns the signature of this method.abstract Object
Invokes this method.boolean
Returns whether this method is abstract.boolean
Returns whether this object is cacheable.boolean
Returns whether this method is interface-default.boolean
isMethod
(MetaMethod method) Returns true if this metamethod represents the same method as the argument.final boolean
isSame
(MetaMethod method) Determines if the given method has the same name, parameters, return type and modifiers but may be defined on another type.final RuntimeException
processDoMethodInvokeException
(Exception e, Object object, Object[] arguments) Called when an exception occurs while invoking this method.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
Methods inherited from interface groovy.lang.MetaMember
isFinal, isPackagePrivate, isPrivate, isProtected, isPublic, isStatic, isSynthetic
-
Field Details
-
EMPTY_ARRAY
-
-
Constructor Details
-
MetaMethod
public MetaMethod()Constructor for a metamethod with an empty parameter list. -
MetaMethod
Constructor with a list of parameter classes.- Parameters:
pt
- A list of parameters types
-
-
Method Details
-
getModifiers
public abstract int getModifiers()Returns the modifiers of this method.- Specified by:
getModifiers
in interfaceMetaMember
- Returns:
- modifiers as an int.
-
getName
Returns the name of this method.- Specified by:
getName
in interfaceMetaMember
- Returns:
- name of this method
-
getReturnType
Returns the return type for this method.- Returns:
- the return type of this method
-
getDeclaringClass
Gets the class where this method is declared.- Returns:
- class of this method
-
checkParameters
Checks that the given parameters are valid to call this method.- Parameters:
arguments
- the arguments to check- Throws:
IllegalArgumentException
- if the parameters are not valid
-
isMethod
Returns true if this metamethod represents the same method as the argument.- Parameters:
method
- A metaMethod instance- Returns:
- true if method is for the same method as this method, false otherwise.
-
equal
-
equal
-
toString
-
clone
-
isAbstract
public boolean isAbstract()Returns whether this method is abstract.- Returns:
- true if this method is abstract
-
isDefault
public boolean isDefault()Returns whether this method is interface-default.- Returns:
- true if this method is default
-
isSame
Determines if the given method has the same name, parameters, return type and modifiers but may be defined on another type.- Parameters:
method
- the method to compare against
-
isCacheable
public boolean isCacheable()Returns whether this object is cacheable. -
getDescriptor
Returns a descriptor of this method based on the return type and parameters of this method. -
getSignature
Returns the signature of this method.- Returns:
- The signature of this method
-
getMopName
-
invoke
Invokes this method.- Parameters:
object
- The object this method should be invoked onarguments
- The arguments for the method if applicable- Returns:
- The return value of the invocation
-
doMethodInvoke
Invokes the method this object represents.This method is not final but it should be overloaded very carefully and only by generated methods there is no guarantee that it will be called.
- Parameters:
object
- The object the method is to be called at.arguments
- Arguments for the method invocation.- Returns:
- The return value of the invoked method.
-
processDoMethodInvokeException
public final RuntimeException processDoMethodInvokeException(Exception e, Object object, Object[] arguments) Called when an exception occurs while invoking this method.
-