# Package net.sf.cglib.proxy

Interface Summary
Callback: All callback interfaces used by `Enhancer` extend this interface.
CallbackFilter: Map methods of subclasses generated by `Enhancer` to a particular callback.
Dispatcher: Dispatching `Enhancer` callback.
Enhancer.EnhancerKey: Internal interface, only public due to ClassLoader issues.
Factory: All enhanced instances returned by the `Enhancer` class implement this interface.
FixedValue: `Enhancer` callback that simply returns the value to return from the proxied method.
InvocationHandler: `InvocationHandler` replacement (unavailable under JDK 1.2).
LazyLoader: Lazy-loading `Enhancer` callback.
MethodInterceptor: General-purpose `Enhancer` callback which provides for "around advice".
NoOp: Methods using this `Enhancer` callback will delegate directly to the default (super) implementation in the base class.
ProxyRefDispatcher: Dispatching `Enhancer` callback.

Class Summary
CallbackHelper
Enhancer: Generates dynamic subclasses to enable method interception.
InterfaceMaker: Generates new interfaces at runtime.
MethodProxy: Classes generated by `Enhancer` pass this object to the registered `MethodInterceptor` objects when an intercepted method is invoked.
Mixin: `Mixin` allows multiple objects to be combined into a single larger object.
Mixin.Generator
Proxy: This class is meant to be used as replacement for `java.lang.reflect.Proxy` under JDK 1.2.

Exception Summary
UndeclaredThrowableException: Used by `Proxy` as a replacement for `java.lang.reflect.UndeclaredThrowableException`.