| <body> |
| <p> |
| Provides a modifiable view of the JElement tree. This package contains |
| interfaces which parallel and extend the JElement tree, adding and |
| editing functionality to that the view of the java type system can |
| be modified. |
| </p> |
| |
| <p> |
| Typically, this is only used in conjunction with an 'initializer' |
| ElementVisitor which is run on a JClass when it is first loaded. The |
| initializer might use these editable 'M*' abstractions to, for example, |
| do some pre-processing on the comments or annotations, or to determine |
| which methods on a class should be exposed as JProperties. The M* |
| classes are also used by JAM providers in implementing the JamClassBuilder |
| interface, which populates an EClass with methods, fields, and so on. |
| </p> |
| |
| <p> |
| It is also possible to use this package to synthesize a view |
| of a java class which does not actually exist in any class or source |
| file. This could be useful, for example, to drive a code-generation |
| mechanism (Note that JAM does not provide a model for the contents of |
| method bodies, so this may not be a useful approach). |
| </p> |
| </body> |