Mega Code Archive

 
Categories / Java / Reflection
 

Gets a String array of all method calls for the given class

/*  * Copyright 2008 Ayman Al-Sairafi ayman.alsairafi@gmail.com  *  * Licensed under the Apache License, Version 2.0 (the "License");  * you may not use this file except in compliance with the License.  * You may obtain a copy of the License  *       at http://www.apache.org/licenses/LICENSE-2.0  * Unless required by applicable law or agreed to in writing, software  * distributed under the License is distributed on an "AS IS" BASIS,  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.  * See the License for the specific language governing permissions and  * limitations under the License.  */ //package jsyntaxpane.util; import java.io.File; import java.io.IOException; import java.lang.reflect.Constructor; import java.lang.reflect.Field; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Member; import java.lang.reflect.Method; import java.lang.reflect.Modifier; import java.net.URL; import java.util.ArrayList; import java.util.Enumeration; import java.util.HashMap; import java.util.List; import java.util.logging.Level; import java.util.logging.Logger; /**  * Reflection Utility methods  *   * @author Ayman Al-Sairafi  */ public class ReflectUtils {     /**      * Gets a String array of all method calls for the given class      * @param aClass      * @return      */     public static String[] getMethodCalls(Class aClass) {         String[] methods = new String[aClass.getMethods().length];         int i = 0;         for (Method method : aClass.getMethods()) {             methods[i++] = getJavaCallString(method);         }         return methods;     }     /**      * Convert the Method to a Java Code String      * (arguments are replaced by the simple types)      * @param method Method      * @return      */     public static String getJavaCallString(Method method) {         StringBuilder call = new StringBuilder();         call.append(method.getName());         addParamsString(call, method.getParameterTypes());         return call.toString();     }     /**      * Adds the class SimpleNames, comma sepearated and surrounded by paranthesis to the      * call StringBuffer      * @param call      * @param params      * @return      */     public static StringBuilder addParamsString(StringBuilder call, Class[] params) {         call.append("(");         boolean firstArg = true;         for (Class arg : params) {             if (firstArg) {                 firstArg = false;             } else {                 call.append(", ");             }             call.append(arg.getSimpleName());         }         call.append(")");         return call;     } }