Package groovy.lang

Class MetaMethod

    • Field Detail

      • EMPTY_ARRAY

        public static final MetaMethod[] EMPTY_ARRAY
    • Constructor Detail

      • MetaMethod

        public MetaMethod()
        Constructor for a metamethod with an empty parameter list
      • MetaMethod

        public MetaMethod​(Class[] pt)
        Constructor wit a list of parameter classes
        Parameters:
        pt - A list of parameters types
    • Method Detail

      • getModifiers

        public abstract int getModifiers()
        Returns the modifiers for this method
        Returns:
        modifiers as an int.
      • getName

        public abstract String getName()
        Returns the name of the method represented by this class
        Returns:
        name of this method
      • getReturnType

        public abstract Class getReturnType()
        Access the return type for this method
        Returns:
        the return type of this method
      • getDeclaringClass

        public abstract CachedClass getDeclaringClass()
        Gets the class where this method is declared
        Returns:
        class of this method
      • invoke

        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
      • checkParameters

        public void checkParameters​(Class[] arguments)
        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

        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.
      • toString

        public String toString()
        Returns a string representation of this method
        Overrides:
        toString in class Object
      • isStatic

        public boolean isStatic()
        Returns whether or not this method is static.
        Returns:
        true if this method is static
      • isAbstract

        public boolean isAbstract()
        Returns whether or not this method is abstract.
        Returns:
        true if this method is abstract
      • isPrivate

        public final boolean isPrivate()
        Returns whether or not this method is private.
        Returns:
        true if this method is private
      • isProtected

        public final boolean isProtected()
        Returns whether or not this method is protected.
        Returns:
        true if this method is protected
      • isPublic

        public final boolean isPublic()
        Returns whether or not this method is public.
        Returns:
        true if this method is public
      • 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()
        Returns whether this object is cacheable
      • getDescriptor

        public String getDescriptor()
        Return a descriptor of this method based on the return type and parameters of this method.
      • getSignature

        public String getSignature()
        Returns the signature of this method
        Returns:
        The signature of this method
      • getMopName

        public String getMopName()
      • processDoMethodInvokeException

        public final RuntimeException processDoMethodInvokeException​(Exception e,
                                                                     Object object,
                                                                     Object[] argumentArray)
        This method is called when an exception occurs while invoking this method.
      • doMethodInvoke

        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.