Class Method


  • public class Method
    extends java.lang.Object
    A named method descriptor.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.String desc
      The method descriptor.
      private static java.util.Map<java.lang.String,​java.lang.String> DESCRIPTORS
      Maps primitive Java type names to their descriptors.
      private java.lang.String name
      The method name.
    • Constructor Summary

      Constructors 
      Constructor Description
      Method​(java.lang.String name, Type returnType, Type[] argumentTypes)
      Creates a new Method.
      Method​(java.lang.String name, java.lang.String desc)
      Creates a new Method.
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean equals​(java.lang.Object o)  
      Type[] getArgumentTypes()
      Returns the argument types of the method described by this object.
      java.lang.String getDescriptor()
      Returns the descriptor of the method described by this object.
      static Method getMethod​(java.lang.reflect.Constructor<?> c)
      Creates a new Method.
      static Method getMethod​(java.lang.reflect.Method m)
      Creates a new Method.
      static Method getMethod​(java.lang.String method)
      Returns a Method corresponding to the given Java method declaration.
      static Method getMethod​(java.lang.String method, boolean defaultPackage)
      Returns a Method corresponding to the given Java method declaration.
      java.lang.String getName()
      Returns the name of the method described by this object.
      Type getReturnType()
      Returns the return type of the method described by this object.
      int hashCode()  
      private static java.lang.String map​(java.lang.String type, boolean defaultPackage)  
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, finalize, getClass, notify, notifyAll, wait, wait, wait
    • Field Detail

      • name

        private final java.lang.String name
        The method name.
      • desc

        private final java.lang.String desc
        The method descriptor.
      • DESCRIPTORS

        private static final java.util.Map<java.lang.String,​java.lang.String> DESCRIPTORS
        Maps primitive Java type names to their descriptors.
    • Constructor Detail

      • Method

        public Method​(java.lang.String name,
                      java.lang.String desc)
        Creates a new Method.
        Parameters:
        name - the method's name.
        desc - the method's descriptor.
      • Method

        public Method​(java.lang.String name,
                      Type returnType,
                      Type[] argumentTypes)
        Creates a new Method.
        Parameters:
        name - the method's name.
        returnType - the method's return type.
        argumentTypes - the method's argument types.
    • Method Detail

      • getMethod

        public static Method getMethod​(java.lang.reflect.Method m)
        Creates a new Method.
        Parameters:
        m - a java.lang.reflect method descriptor
        Returns:
        a Method corresponding to the given Java method declaration.
      • getMethod

        public static Method getMethod​(java.lang.reflect.Constructor<?> c)
        Creates a new Method.
        Parameters:
        c - a java.lang.reflect constructor descriptor
        Returns:
        a Method corresponding to the given Java constructor declaration.
      • getMethod

        public static Method getMethod​(java.lang.String method)
                                throws java.lang.IllegalArgumentException
        Returns a Method corresponding to the given Java method declaration.
        Parameters:
        method - a Java method declaration, without argument names, of the form "returnType name (argumentType1, ... argumentTypeN)", where the types are in plain Java (e.g. "int", "float", "java.util.List", ...). Classes of the java.lang package can be specified by their unqualified name; all other classes names must be fully qualified.
        Returns:
        a Method corresponding to the given Java method declaration.
        Throws:
        java.lang.IllegalArgumentException - if method could not get parsed.
      • getMethod

        public static Method getMethod​(java.lang.String method,
                                       boolean defaultPackage)
                                throws java.lang.IllegalArgumentException
        Returns a Method corresponding to the given Java method declaration.
        Parameters:
        method - a Java method declaration, without argument names, of the form "returnType name (argumentType1, ... argumentTypeN)", where the types are in plain Java (e.g. "int", "float", "java.util.List", ...). Classes of the java.lang package may be specified by their unqualified name, depending on the defaultPackage argument; all other classes names must be fully qualified.
        defaultPackage - true if unqualified class names belong to the default package, or false if they correspond to java.lang classes. For instance "Object" means "Object" if this option is true, or "java.lang.Object" otherwise.
        Returns:
        a Method corresponding to the given Java method declaration.
        Throws:
        java.lang.IllegalArgumentException - if method could not get parsed.
      • map

        private static java.lang.String map​(java.lang.String type,
                                            boolean defaultPackage)
      • getName

        public java.lang.String getName()
        Returns the name of the method described by this object.
        Returns:
        the name of the method described by this object.
      • getDescriptor

        public java.lang.String getDescriptor()
        Returns the descriptor of the method described by this object.
        Returns:
        the descriptor of the method described by this object.
      • getReturnType

        public Type getReturnType()
        Returns the return type of the method described by this object.
        Returns:
        the return type of the method described by this object.
      • getArgumentTypes

        public Type[] getArgumentTypes()
        Returns the argument types of the method described by this object.
        Returns:
        the argument types of the method described by this object.
      • toString

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

        public boolean equals​(java.lang.Object o)
        Overrides:
        equals in class java.lang.Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class java.lang.Object