Patrick just posted some documentation on
JAM
, the type abstraction API used in EJBGen and SGen.

The idea behind JAM is to offer a uniform access to the way the Java type
system (and more particularly, annotations) are collected.  Right now, JDK
1.4 is supported, 1.5 will be available very soon (source or .class form) and in
the future, you can expect more metadata providers to become available.

JAM is shipped as part of the Open Source
Apache XMLBeans project but we are
considering making it a standalone product (which for now is available directly
from Patrick’s Web site).

There is a lot of design work currently happening around JAM so now is the
time to provide feedback!