Smartproxy
0.2

Package net.ggtools.smartproxy

This package provides classes to wrap an underlying object into a proxy in order to change the behaviour of some methods (eg: transparently adding a cache) while leaving the other's untouched by forwarding the calls to the underlying object.

See:
          Description

Interface Summary
ProxifiedObject This is the base interface that the implementor objects need to implements.
ProxyClassGenerator Interface for proxy class generators.
 

Class Summary
ProxyFactory A factory to create proxified objects.
SimpleProxyClassGenerator A proxy class generator used when the base and underlying interfaces are the same.
 

Package net.ggtools.smartproxy Description

This package provides classes to wrap an underlying object into a proxy in order to change the behaviour of some methods (eg: transparently adding a cache) while leaving the other's untouched by forwarding the calls to the underlying object. The package was designed to be efficient and hassle free. Efficient because the generated proxies should have performances roughly equivalent to hand coded ones. Hassle free because it should let the programmer concentrate on what the proxy should do (the changed methods) rather than on what it should not (the delegated methods). To achieve this, the proxification process is entirely done at runtime by creating the need proxy classes on the fly.

The following terminology is used in the package's documentation:

base interface
the interface the generated proxy class should implement,
implementor class
an abstract class implementing the methods to be altered by the proxy, this class must implement the ProxifiedObject interface,
underlying interface
the interface of the underlying objects.

Depending on the actual proxy generator these three interfaces/classes may or may not be necessary.

This product includes software developed by the Apache Software Foundation.

See Also:
Proxy, BCEL Library

Smartproxy
0.2