If you want to do it yourself, you could :
parse all the source code with your own written doclet.
gather all the dependancy data with a tool like jdepends to get class relations
use a tool like MDR (netbeans) to create XMI 2.0 diagrams from all the info you
have collected and spit out diagrams.
use a free version of a poseidon to view the diagrams.
(I think people are wiser in investing in a tool instead, but I am having fun trying something like this)
My question to you is what information is important about the classes that you need to know ?
How do you identify the important classes ?
How can you identify the main use of the program from a static analysis ?
My idea about identifying important classes would be that they should be on a dependancy path
that includes links to most other classes - like a freeway that has exits to minor roads.
I think also to get a better idea about the code you need a dynamic model perhaps developed from
a run-time analysis gathered from logging which methods and classes are used when performing
the usual functions when executing the code.
Good luck whatever you decide to do.
Hi KPSeal,
sorry for posting here, but if you are watching this thread please have a look at the old thread
http://forum.java.sun.com/thread.jspa?threadID=257492&start=15&tstart=0
where I have added a question to your TableRowHeightHandler solution.
tom