Provides a general framework for the application of transformations to compiled Java bytecode. Commons Weaver provides:
Q: Why not just use AspectJ?
A: The original motivation to develop the codebase that evolved into Commons Weaver instead of simply using AspectJ was to avoid the runtime dependency, however small, introduced by the use of AspectJ. Additionally, later versions of AspectJ are licensed under the EPL which can be considered less permissive than the Apache license. Choice is A Good Thing.