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. | 
  _MasterRegistry | 
  This singleton holds all the class registries. | 
MasterRegistry
  
  - 
    
      - Type:
 
      - 
          
_MasterRegistry
       
      - Value:
 
      
<EaseXML.classregistry._MasterRegistry object at 0xb7e00b4c>            
         |  
  
     
   
  |