Package Name | Comment |
javassist |
The Javassist Core API.
Javassist (Java programming assistant) makes bytecode
engineering simple. It is a class library for editing
bytecode in Java; it enables Java programs to define a new class at
runtime and to modify a given class file when the JVM loads it.
The most significant class of this package is CtClass .
See the description of this class first.
To know the version number of this package, type the following command:
java -jar javassist.jar
It prints the version number on the console.
|
javassist.bytecode |
Bytecode-level API.
This package provides low-level API for editing a raw class file.
It allows the users to read and modify a constant pool entry, a single
bytecode instruction, and so on.
The users of this package must know the specifications of
class file and Java bytecode. For more details, read this book:
Tim Lindholm and Frank Yellin,
"The Java Virtual Machine Specification 2nd Ed.",
Addison-Wesley, 1999.
|
javassist.bytecode.annotation |
Bytecode-level Annotations API.
This package provides low-level API for editing annotations attributes.
|
javassist.compiler | |
javassist.compiler.ast | |
javassist.convert | |
javassist.expr |
This package contains the classes for modifying a method body.
See ExprEditor (expression editor) for more details.
|
javassist.runtime |
Runtime support classes required by modified bytecode.
This package includes support classes that may be required by
classes modified with Javassist. Note that most of the modified
classes do not require these support classes. See the documentation
of every support class to know which kind of modification needs
a support class.
|
javassist.scopedpool |
A custom class pool for several JBoss products.
It is not part of Javassist.
|
javassist.tools |
Covenient tools.
|
javassist.tools.reflect |
Runtime Behavioral Reflection.
(also recently known as interceptors or AOP?)
This package enables a metaobject to trap method calls and field
accesses on a regular Java object. It provides a class
Reflection , which is a main module for implementing
runtime behavioral reflection.
It also provides
a class Loader and Compiler
as utilities for dynamically or statically
translating a regular class into a reflective class.
An instance of the reflective class is associated with
a runtime metaobject and a runtime class metaobject, which control
the behavior of that instance.
The runtime
metaobject is created for every (base-level) instance but the
runtime class metaobject is created for every (base-level) class.
Metaobject is the root class of the runtime
metaobject and ClassMetaobject is the root class
of the runtime class metaobject.
This package is provided as a sample implementation of the
reflection mechanism with Javassist. All the programs in this package
uses only the regular Javassist API; they never call any hidden
methods.
The most significant class in this package is Reflection .
See the description of this class first.
|
javassist.tools.rmi |
Sample implementation of remote method invocation.
This package enables applets to access remote objects
running on the web server with regular Java syntax.
It is provided as a sample implementation with Javassist.
All the programs in this package uses only the regular
Javassist API; they never call any hidden methods.
The most significant class of this package is
ObjectImporter .
See the description of this class first.
|
javassist.tools.web |
Simple web server for running sample code.
This package provides a simple web server for sample packages.
|
javassist.util |
Utility classes.
|
javassist.util.proxy |
Dynamic proxy (similar to Enhancer of cglib).
See ProxyFactory for more details.
|
sample | |
sample.duplicate | |
sample.evolve | |
sample.preproc |
A sample preprocessor.
The preprocessor for running Javassist at compile time.
The produced class files are saved on a local disk.
This package is provided as a sample implementation of the
preprocessor using Javassist. All the programs in this package
uses only the regular Javassist API; they never call any hidden
methods.
|
sample.reflect | |
sample.rmi | |
sample.vector | |