A simple class for dumping reflection info from a specified class.
git-svn-id: https://samskivert.googlecode.com/svn/trunk@184 6335cc39-0255-0410-8fd6-9bcaacd3b74c
This commit is contained in:
@@ -0,0 +1,60 @@
|
|||||||
|
//
|
||||||
|
// $Id: Dumper.java,v 1.1 2001/07/14 00:51:13 mdb Exp $
|
||||||
|
|
||||||
|
package com.samskivert.viztool.util;
|
||||||
|
|
||||||
|
import java.lang.reflect.*;
|
||||||
|
|
||||||
|
public class Dumper
|
||||||
|
{
|
||||||
|
public void dump (Class clazz)
|
||||||
|
{
|
||||||
|
System.out.println("Dumping: " + clazz.getName());
|
||||||
|
|
||||||
|
Class parent = clazz.getSuperclass();
|
||||||
|
if (parent == null) {
|
||||||
|
System.out.println("P: none");
|
||||||
|
} else {
|
||||||
|
System.out.println("P: " + parent.getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
Class[] ifaces = clazz.getInterfaces();
|
||||||
|
for (int i = 0; i < ifaces.length; i++) {
|
||||||
|
System.out.println("I: " + ifaces[i].getName());
|
||||||
|
}
|
||||||
|
|
||||||
|
dump("F", clazz.getDeclaredFields());
|
||||||
|
dump("C", clazz.getDeclaredConstructors());
|
||||||
|
dump("M", clazz.getDeclaredMethods());
|
||||||
|
}
|
||||||
|
|
||||||
|
protected void dump (String prefix, Member[] members)
|
||||||
|
{
|
||||||
|
for (int i = 0; i < members.length; i++) {
|
||||||
|
System.out.println(prefix + ": " + members[i].getName());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public static void main (String[] args)
|
||||||
|
{
|
||||||
|
if (args.length < 1) {
|
||||||
|
System.err.println("Usage: Dumper classname [classname ...]");
|
||||||
|
System.exit(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
String classpath = System.getProperty("java.class.path", ".");
|
||||||
|
System.out.println("Classpath: " + classpath);
|
||||||
|
|
||||||
|
Dumper dumper = new Dumper();
|
||||||
|
|
||||||
|
for (int i = 0; i < args.length; i++) {
|
||||||
|
try {
|
||||||
|
dumper.dump(Class.forName(args[i]));
|
||||||
|
|
||||||
|
} catch (Exception e) {
|
||||||
|
System.err.println("Unable to instantiate class: " + args[i]);
|
||||||
|
e.printStackTrace();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user