[jboss-cvs] jboss-seam/src/main/org/jboss/seam/util ...
Gavin King
gavin.king at jboss.com
Fri Jul 21 14:56:07 EDT 2006
User: gavin
Date: 06/07/21 14:56:07
Modified: src/main/org/jboss/seam/util Reflections.java Strings.java
Log:
improve java reflection's stupid messages
Revision Changes Path
1.6 +19 -1 jboss-seam/src/main/org/jboss/seam/util/Reflections.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Reflections.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/util/Reflections.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -b -r1.5 -r1.6
--- Reflections.java 2 Jul 2006 20:31:52 -0000 1.5
+++ Reflections.java 21 Jul 2006 18:56:07 -0000 1.6
@@ -1,4 +1,4 @@
-//$Id: Reflections.java,v 1.5 2006/07/02 20:31:52 gavin Exp $
+//$Id: Reflections.java,v 1.6 2006/07/21 18:56:07 gavin Exp $
package org.jboss.seam.util;
import java.beans.Introspector;
@@ -15,6 +15,14 @@
{
return method.invoke( target, args );
}
+ catch (IllegalArgumentException iae)
+ {
+ throw new IllegalArgumentException(
+ "Could not invoke method by reflection: " + toString(method) +
+ " with parameters: (" + Strings.toClassNameString(", ", args) + ')',
+ iae
+ );
+ }
catch (InvocationTargetException ite)
{
if ( ite.getCause() instanceof Exception )
@@ -48,6 +56,16 @@
}
}
+ private static String toString(Method method)
+ {
+ return Strings.unqualify( method.getClass().getName() ) +
+ '.' +
+ method.getName() +
+ '(' +
+ Strings.toString( ", ", method.getParameterTypes() ) +
+ ')';
+ }
+
public static Class classForName(String name) throws ClassNotFoundException
{
try
1.11 +137 -121 jboss-seam/src/main/org/jboss/seam/util/Strings.java
(In the diff below, changes in quantity of whitespace are not shown.)
Index: Strings.java
===================================================================
RCS file: /cvsroot/jboss/jboss-seam/src/main/org/jboss/seam/util/Strings.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -b -r1.10 -r1.11
--- Strings.java 15 Apr 2006 21:57:37 -0000 1.10
+++ Strings.java 21 Jul 2006 18:56:07 -0000 1.11
@@ -15,7 +15,7 @@
/**
* @author <a href="mailto:theute at jboss.org">Thomas Heute</a>
- * @version $Revision: 1.10 $
+ * @version $Revision: 1.11 $
*/
public class Strings
{
@@ -87,23 +87,39 @@
public static String toString(String sep, Object... objects)
{
StringBuilder builder = new StringBuilder();
- for (int i=0; i<objects.length; i++)
+ for (Object object: objects)
{
- builder.append( objects[i].toString() );
- if (i<objects.length-1) builder.append(sep);
+ builder.append(sep).append(object);
}
- return builder.toString();
+ return builder.substring(2);
}
- public static String toString(Class... classes)
+ public static String toClassNameString(String sep, Object... objects)
{
StringBuilder builder = new StringBuilder();
- for (int i=0; i<classes.length; i++)
+ for (Object object: objects)
+ {
+ builder.append(sep);
+ if (object==null)
{
- builder.append( classes[i].getName() );
- if (i<classes.length-1) builder.append(" ");
+ builder.append("null");
}
- return builder.toString();
+ else
+ {
+ builder.append( object.getClass().getName() );
+ }
+ }
+ return builder.substring(2);
+ }
+
+ public static String toString(String sep, Class... classes)
+ {
+ StringBuilder builder = new StringBuilder();
+ for (Class clazz: classes)
+ {
+ builder.append(sep).append( clazz.getName() );
+ }
+ return builder.substring(2);
}
public static String toString(InputStream in) throws IOException {
More information about the jboss-cvs-commits
mailing list