SCons ::
Util ::
Proxy ::
Class Proxy
|
|
Class Proxy
source code
object --+
|
Proxy
- Known Subclasses:
-
Builder.CompositeBuilder,
Node.FS.EntryProxy
A simple generic Proxy class, forwarding all calls to
subject. So, for the benefit of the python newbie, what does
this really mean? Well, it means that you can take an object, let's
call it 'objA', and wrap it in this Proxy class, with a statement
like this
proxyObj = Proxy(objA),
Then, if in the future, you do something like this
x = proxyObj.var1,
since Proxy does not have a 'var1' attribute (but presumably objA does),
the request actually is equivalent to saying
x = objA.var1
Inherit from this class to create a Proxy.
Note that, with new-style classes, this does *not* work transparently
for Proxy subclasses that use special .__*__() method names, because
those names are now bound to the class, not the individual instances.
You now need to know in advance which .__*__() method names you want
to pass on to the underlying Proxy object, and specifically delegate
their calls like this:
class Foo(Proxy):
__str__ = Delegate('__str__')
|
|
|
|
|
get(self)
Retrieve the entire wrapped object |
source code
|
|
|
|
Inherited from object :
__delattr__ ,
__getattribute__ ,
__hash__ ,
__new__ ,
__reduce__ ,
__reduce_ex__ ,
__repr__ ,
__setattr__ ,
__str__
|
Inherited from object :
__class__
|
Wrap an object as a Proxy object
- Overrides:
object.__init__
|
__getattr__(self,
name)
(Qualification operator)
| source code
|
Retrieve an attribute from the wrapped object. If the named
attribute doesn't exist, AttributeError is raised
|