[Java] Class MetaMethod
- groovy.lang.MetaMethod
- All Implemented Interfaces and Traits:
- Cloneable
public abstract class MetaMethod extends ParameterTypes implements Cloneable
Represents a Method on a Java object a little like Method except without using reflection to invoke the method
Field Summary
Modifiers | Name | Description |
---|---|---|
static MetaMethod[] | EMPTY_ARRAY |
Fields inherited from class | Fields |
---|---|
class ParameterTypes | isVargsMethod, nativeParamTypes, parameterTypes |
Constructor Summary
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
Type Params | Return Type | Name and description |
---|---|---|
public void |
checkParameters(Class[] arguments) Checks that the given parameters are valid to call this method | |
public Object |
clone() | |
public 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) | |
public abstract CachedClass |
getDeclaringClass() Gets the class where this method is declared | |
public String |
getDescriptor() Return a descriptor of this method based on the return type and parameters of this method. | |
public abstract int |
getModifiers() Returns the modifiers for this method | |
public String |
getMopName() | |
public abstract String |
getName() Returns the name of the method represented by this class | |
public abstract Class |
getReturnType() Access the return type for this method | |
public String |
getSignature() Returns the signature of this method | |
public abstract Object |
invoke(Object object, Object[] arguments) Invoke this method | |
public boolean |
isAbstract() Returns whether or not 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. | |
public final boolean |
isPrivate() Returns whether or not this method is private. | |
public final boolean |
isProtected() Returns whether or not this method is protected. | |
public final boolean |
isPublic() Returns whether or not this method is public. | |
public final boolean |
isSame(MetaMethod method)
| |
public boolean |
isStatic() Returns whether or not 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 |
Inherited Methods Summary
Methods inherited from class | Name |
---|---|
class ParameterTypes | coerceArgumentsToClasses, correctArguments, getNativeParameterTypes, getPT, getParameterTypes, isValidExactMethod, isValidExactMethod, isValidMethod, isValidMethod, isVargsMethod, isVargsMethod, setParametersTypes |
Field Detail
public static final MetaMethod[] EMPTY_ARRAY
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 abstract 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 abstract int getModifiers()
Returns the modifiers for this method
- Returns:
- modifiers as an int.
public String getMopName()
public abstract String getName()
Returns the name of the method represented by this class
- Returns:
- name of this method
public abstract 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 abstract 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/3.0.7/html/gapi/groovy/lang/MetaMethod.html