NoSuchMethodException.java |
/*************************************** * * * JBoss: The OpenSource J2EE WebOS * * * * Distributable under LGPL license. * * See terms of license at gnu.org. * * * ***************************************/ package org.jboss.util; import java.lang.reflect.Method; /** * A better NoSuchMethodException which can take a Method object * and formats the detail message based on in. * * @version <tt>$Revision: 1.1 $</tt> * @author <a href="mailto:jason@planet57.com">Jason Dillon</a> */ public class NoSuchMethodException extends java.lang.NoSuchMethodException { /** * Construct a <tt>NoSuchMethodException</tt> with the specified detail * message. * * @param msg Detail message. */ public NoSuchMethodException(String msg) { super(msg); } /** * Construct a <tt>NoSuchMethodException</tt> using the given method * object to construct the detail message. * * @param method Method to determine detail message from. */ public NoSuchMethodException(Method method) { super(format(method)); } /** * Construct a <tt>NoSuchMethodException</tt> using the given method * object to construct the detail message. * * @param msg Detail message prefix. * @param method Method to determine detail message suffix from. */ public NoSuchMethodException(String msg, Method method) { super(msg + format(method)); } /** * Construct a <tt>NoSuchMethodException</tt> with no detail. */ public NoSuchMethodException() { super(); } /** * Return a string representation of the given method object. */ public static String format(Method method) { StringBuffer buffer = new StringBuffer(); buffer.append(method.getName()).append("("); Class[] paramTypes = method.getParameterTypes(); for (int count = 0; count < paramTypes.length; count++) { if (count > 0) { buffer.append(","); } buffer. append(paramTypes[count].getName().substring(paramTypes[count].getName().lastIndexOf(".")+1)); } buffer.append(")"); return buffer.toString(); } }
NoSuchMethodException.java |