Provides an API for program modification.
This package provides a set of interfaces for applying
modifications on a program. These modifications are abstractly
defined and can occur at compile-time, load-time, or runtime
depending on the ProgramModifier
implementation. Moreover, since it uses the
aopi.reflect
package which provides an abstract
representation of the program, the transformations can be
implemented at a source-code level or at a bytecode level,
depending on the implementation.
This API is specific to AOP. This means that the set of program modifications that is allowed is a restricted set compared to a general-purpose API. However, general-purpose transformation tools should provide an implementation of this API in order to be easily used by several AO systems.
This package requires the aopi.reflect
package.
It is typically used by aopi.core
package (but in
an optional mode).