Class::Proxy - an object proxy
use Class::Proxy;
my $pobj = Class::Proxy->new( victim => $obj );
$pobj->victim_method();
Objects can be served by Class::Proxy. In practice, any method call to the proxy will
be forwarded to the original object (victim). The purpose of that is to alter method
calls in a generic way. This can be used for
faking
restriction
logging
benchmarking
forwarding
versioning
caching
and many more.
Class::Proxy is a Class::Listener (the Class::Listener manpage). Two signals are registered to it:
When a method is called.
When a victim was assigned.
The Class::Proxy constructor returns a Class::Proxy object and not a victim object. That means it isn't
very good hiding itsef and this may cause conflicts. But when the victim class was written following oo-recommendations
Class::Proxy should work fine.
[Note] In future Class::Proxy will try to obscure himself (via tie?). Currently ref() or isa() call would
reveal Class::Proxy. Also caller() would give hints.
None by default.
Murat Ünalan, murat.uenalan@gmx.dee
the Class::Listener manpage, the Class::NiceApi manpage and the Class::Protected manpage