The Java Class File Editor allows you to read & modify java .class files, either on disk or while loading classes at runtime. The project grew out of the Generic Delegator, which creates new classes on the fly, allowing you to dynamically implement a group of interfaces by forwarding them to a shim
You can use JCFE as a plug-compatible dynamic proxy implementation. See the generic delegator docs for details.
JCFE now has reflection capabilities not provided by the java.lang.reflect
APIs. This is under construction, so don't expect much documentation
yet. Just nose around the com.develop.reflect package.
You can use
java com.develop.reflect.ListDependencies SomeClass [system]
to get a list of all the immediate dependencies of SomeClass.
If you include the system flag, dependencies from the core API will
also be listed.
I am not actively working on the class file editing part of the project, but I am supporting the Dynamic Proxy code. You can download the Current Drop and use it as a 1.2 compliant Dynamic Proxy. The current version of JCFE is 1.5, 200208201522.
JCFE is open source, subject to the following license.