package org.safehaus.penrose.util; import java.lang.reflect.Method; import java.util.Collection; import java.util.ArrayList; import java.util.Arrays; /** * @author Endi Sukma Dewata */ public class ClassUtil { public static String getSignature(Method method) { Collection<String> parameterTypes = new ArrayList<String>(); for (Class<?> parameterType : method.getParameterTypes()) { parameterTypes.add(parameterType.getName()); } return getSignature(method.getName(), parameterTypes); } public static String getSignature(String methodName, Class[] parameterClasses) { Collection<String> parameterTypes = new ArrayList<String>(); for (Class parameterClass : parameterClasses) { parameterTypes.add(parameterClass.getName()); } return getSignature(methodName, parameterTypes); } public static String getSignature(String methodName, String[] parameterTypes) { return getSignature(methodName, parameterTypes == null ? null : Arrays.asList(parameterTypes)); } public static String getSignature(String methodName, Collection<String> parameterTypes) { StringBuilder sb = new StringBuilder(); sb.append(methodName); sb.append("("); if (parameterTypes != null) { boolean first = true; for (String parameterType : parameterTypes) { if (first) { first = false; } else { sb.append(","); } sb.append(parameterType); } } sb.append(")"); return sb.toString(); } }