# Package javassist.tools.reflect

package 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.

Related Packages
Package
Description
javassist.tools
Covenient tools.
javassist.tools.rmi
Sample implementation of remote method invocation.
javassist.tools.web
Simple web server for running sample code.
Class
Description
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.
Metalevel
An interface to access a metaobject and a class metaobject.
Metaobject
A runtime metaobject.
Reflection
The class implementing the behavioral reflection mechanism.
Sample
A template used for defining a reflective class.