Module EaseXML.classregistry
- classresolver.py
- 2 February 2004, Ian Bicking <ianb@colorstudy.com>
Resolves strings to classes, and runs callbacks when referenced
classes are created.
Classes are referred to only by name, not by module. So that
identically-named classes can coexist, classes are put into individual
registries, which are keyed on strings (names). These registries are
created on demand.
Use like:
>>> import classregistry
>>> registry = classregistry.registry('MyModules')
>>> def afterMyClassExists(cls):
... print 'Class finally exists:', cls
>>> registry.addClassCallback('MyClass', afterMyClassExists)
>>> class MyClass:
... pass
>>> registry.addClass(MyClass)
Class finally exists: MyClass
Classes |
ClassRegistry |
We'll be dealing with classes that reference each other, so
class C1 may reference C2 (in a join), while C2 references
C1 right back. |
Variable Summary |
_MasterRegistry |
MasterRegistry = <EaseXML.classregistry._MasterRegistry ...
|
MasterRegistry
-
- Type:
-
_MasterRegistry
- Value:
<EaseXML.classregistry._MasterRegistry object at 0xb7e00b4c>
|
|