[Java] Class MetaMethod

  • groovy.lang.MetaMethod
All Implemented Interfaces and Traits:
Cloneable
public abstract class MetaMethod
extends ParameterTypes

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

Authors:
James Strachan
Alex Tkachman
Inherited fields
Fields inherited from class Fields
class ParameterTypes isVargsMethod, nativeParamTypes, parameterTypes

Constructor Summary

Constructors
Constructor and description
MetaMethod ()
Constructor for a metamethod with an empty parameter list
MetaMethod (Class[] pt)
Constructor wit a list of parameter classes

Methods Summary

Methods
Type Params Return Type Name and description
void checkParameters(Class[] arguments)
Checks that the given parameters are valid to call this method
Object clone()
Object doMethodInvoke(Object object, Object[] argumentArray)
Invokes the method this object represents.
protected static boolean equal(CachedClass[] a, Class[] b)
protected static boolean equal(CachedClass[] a, CachedClass[] b)
CachedClass getDeclaringClass()
Gets the class where this method is declared
String getDescriptor()
Return a descriptor of this method based on the return type and parameters of this method.
int getModifiers()
Returns the modifiers for this method
String getMopName()
String getName()
Returns the name of the method represented by this class
Class getReturnType()
Access the return type for this method
String getSignature()
Returns the signature of this method
Object invoke(Object object, Object[] arguments)
Invoke this method
boolean isAbstract()
Returns whether or not this method is abstract.
boolean isCacheable()
Returns whether this object is cacheable
boolean isMethod(MetaMethod method)
Returns true if this this metamethod represents the same method as the argument.
boolean isPrivate()
Returns whether or not this method is private.
boolean isProtected()
Returns whether or not this method is protected.
boolean isPublic()
Returns whether or not this method is public.
boolean isSame(MetaMethod method)
@param method the method to compare against
boolean isStatic()
Returns whether or not this method is static.
RuntimeException processDoMethodInvokeException(Exception e, Object object, Object[] argumentArray)
This method is called when an exception occurs while invoking this method.
String toString()
Returns a string representation of this method

Inherited Methods Summary

Inherited Methods
Methods inherited from class Name
class ParameterTypes coerceArgumentsToClasses, correctArguments, getNativeParameterTypes, getPT, getParameterTypes, isValidExactMethod, isValidExactMethod, isValidMethod, isValidMethod, isVargsMethod, isVargsMethod, setParametersTypes
class Object wait, wait, wait, equals, toString, hashCode, getClass, notify, notifyAll

Constructor Detail

public MetaMethod()

Constructor for a metamethod with an empty parameter list

public MetaMethod(Class[] pt)

Constructor wit a list of parameter classes

Parameters:
pt - A list of parameters types

Method Detail

public void checkParameters(Class[] arguments)

Checks that the given parameters are valid to call this method

throws:
IllegalArgumentException if the parameters are not valid
Parameters:
arguments - the arguments to check

public Object clone()

public Object doMethodInvoke(Object object, Object[] argumentArray)

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.
argumentArray - Arguments for the method invocation.
Returns:
The return value of the invoked method.

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

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

public CachedClass getDeclaringClass()

Gets the class where this method is declared

Returns:
class of this method

public String getDescriptor()

Return a descriptor of this method based on the return type and parameters of this method.

public int getModifiers()

Returns the modifiers for this method

Returns:
modifiers as an int.

public String getMopName()

public String getName()

Returns the name of the method represented by this class

Returns:
name of this method

public Class getReturnType()

Access the return type for this method

Returns:
the return type of this method

public String getSignature()

Returns the signature of this method

Returns:
The signature of this method

public Object invoke(Object object, Object[] arguments)

Invoke this method

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

public boolean isAbstract()

Returns whether or not this method is abstract.

Returns:
true if this method is abstract

public boolean isCacheable()

Returns whether this object is cacheable

public boolean isMethod(MetaMethod method)

Returns true if this 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.

public final boolean isPrivate()

Returns whether or not this method is private.

Returns:
true if this method is private

public final boolean isProtected()

Returns whether or not this method is protected.

Returns:
true if this method is protected

public final boolean isPublic()

Returns whether or not this method is public.

Returns:
true if this method is public

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

public boolean isStatic()

Returns whether or not this method is static.

Returns:
true if this method is static

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

This method is called when an exception occurs while invoking this method.

public String toString()

Returns a string representation of this method

© 2003-2020 The Apache Software Foundation
Licensed under the Apache license.
https://docs.groovy-lang.org/2.4.21/html/gapi/groovy/lang/MetaMethod.html