/** Random reflection-related utilities */
public final class Reflection {
-
- private static Object rebuild(Object o, Class c) {
+
+ public static Object rebuild(Object o, Class c) {
//System.out.println("rebuild " + o + " (a " + (o==null?null:o.getClass().getName()) + ") " + c);
if (o==null || c.isAssignableFrom(o.getClass())) return o;
if ((c == Character.class || c == Character.TYPE) && o instanceof String && ((String)o).length()==1) return new Character(((String)o).charAt(0));
return o+"";
}
+ public static boolean isConcrete(Class c) {
+ if ((c.getModifiers() & Modifier.ABSTRACT) != 0) return false;
+ if ((c.getModifiers() & Modifier.INTERFACE) != 0) return false;
+ return true;
+ }
+
}