Runtime Behavioral Reflection.
See: Description
Interface Summary | |
---|---|
Metalevel | An interface to access a metaobject and a class metaobject. |
Class Summary | |
---|---|
CannotCreateException |
Signals that ClassMetaobject.newInstance() fails. |
CannotInvokeException | Thrown when method invocation using the reflection API has thrown an exception. |
CannotReflectException |
Thrown by makeReflective() in Reflection
when there is an attempt to reflect
a class that is either an interface or a subclass of
either ClassMetaobject or Metaobject.
|
ClassMetaobject | A runtime class metaobject. |
Compiler | A bytecode translator for reflection. |
Loader | A class loader for reflection. |
Metaobject | A runtime metaobject. |
Reflection | The class implementing the behavioral reflection mechanism. |
Sample | A template used for defining a reflective class. |
(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.