Package javassist.tools.reflect
(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.
-
ClassDescriptionSignals that
ClassMetaobject.newInstance()
fails.Thrown when method invocation using the reflection API has thrown an exception.Thrown bymakeReflective()
inReflection
when there is an attempt to reflect a class that is either an interface or a subclass of either ClassMetaobject or Metaobject.A runtime class metaobject.A bytecode translator for reflection.A class loader for reflection.An interface to access a metaobject and a class metaobject.A runtime metaobject.The class implementing the behavioral reflection mechanism.A template used for defining a reflective class.