Get all methods of a class. : Method « Reflection « Java






Get all methods of a class.

      
//package org.nestframework.utils;

import java.beans.BeanInfo;
import java.beans.IntrospectionException;
import java.beans.Introspector;
import java.beans.PropertyDescriptor;
import java.io.BufferedReader;
import java.io.File;
import java.io.IOException;
import java.io.Reader;
import java.lang.annotation.Annotation;
import java.lang.reflect.Field;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.lang.reflect.Modifier;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Properties;


/**
 * Nest utility class.
 * 
 * @author audin
 *
 */
public class NestUtil {

  /**
   * Get all methods of a class.
   * 
   * @param clazz The class.
   * @return All methods of a class.
   */
  public static Collection<Method> getMethods(Class<?> clazz) {
  //  if (log.isDebugEnabled()) {
    //  log.debug("getMethods(Class<?>) - start");
  //  }

    Collection<Method> found = new ArrayList<Method>();
    while (clazz != null) {
      for (Method m1 : clazz.getDeclaredMethods()) {
        boolean overridden = false;

        for (Method m2 : found) {
          if (m2.getName().equals(m1.getName())
              && Arrays.deepEquals(m1.getParameterTypes(), m2
                  .getParameterTypes())) {
            overridden = true;
            break;
          }
        }

        if (!overridden)
          found.add(m1);
      }

      clazz = clazz.getSuperclass();
    }

    //if (log.isDebugEnabled()) {
    //  log.debug("getMethods(Class<?>) - end");
  //  }
    return found;
  }
}

   
    
    
    
    
    
  








Related examples in the same category

1.Method Reflection
2.Load a method on the fly
3.Demonstrates how to get specific method information
4.Class Reflection: show methodsClass Reflection: show methods
5.Object Reflection: invoke methodsObject Reflection: invoke methods
6.To get the calling method
7.Get the class name in a static method
8.Call a method dynamically (Reflection)
9.Call a class method with 2 arguments
10.Using reflection to show all the methods of a class,
11.Invoke method through Java Reflection APIInvoke method through Java Reflection API
12.Get a given method, and invoke it
13.Show loading a class and finding and calling its Main methodShow loading a class and finding and calling its Main method
14.Demonstrates dynamic usage of methods
15.Demonstration of various method invocation issues
16.An invocation handler that counts the number of calls for all methods in the target class.
17.Method modifiers: isSynthetic(), m.isVarArgs(), m.isBridge()
18.Call private method
19.Get the methods of a class object
20.Invoke a method using Method class
21.The next example calls a class method with 2 arguments:
22.Getting the Methods of a Class Object: By obtaining a list of all declared methods
23.Getting the Methods of a Class Object: By obtaining a list of all public methods, both declared and inherited.
24.Getting the Methods of a Class Object: By obtaining a particular Method object.
25.Get the current method name
26.Get the current method name With JDK1.5
27.Get all declared methods from a class
28.Make methods that have unspecified number of parameters:pass an array of Objects
29.Get all methods including the inherited method. Using the getMethods(), we can only access public methods.
30.Fetches all methods of all access types from the supplied class and super classes
31.Find a Method on the supplied class with the supplied name and no parameters
32.Find a Method on the supplied class with the supplied name and parameter types
33.Checks whether the specified class contains a method matching the specified name.
34.Call a member function to get the value
35.Call a method of an object
36.Call a static method of a class with reflection
37.Returns method with the specified name
38.Find method
39.Invokes a method, masking with a runtime exception all the exceptions.
40.Sorts methods according to their name, number of parameters, and parameter types.
41.This program shows how to invoke methods through reflection
42.Adds all methods (from Class.getMethodCalls) to the list
43.Find method 2
44.Find Declared Methods
45.Get Static Method
46.Search Method
47.Convert method to property name.
48.Method signature
49.Gets a String array of all method calls for the given class
50.Convert the Method to a Java Code String (arguments are replaced by the simple types)