| Home | Trees | Indices | Help |
|
|---|
|
|
object --+
|
base.activetags.ActiveTag --+
|
object --+ |
| |
base.structure.StructureBase --+ |
| |
object --+ | |
| | |
base.common.Parser --+ |
| |
base.structure.ParseableStructure --+ |
| |
base.structure.Structure --+
|
object --+ |
| |
base.macros.MacroPackage --+ |
| |
base.macros.StandardMacroMixin --+
|
base.activetags.ReplayBase --+
|
MixinDef
A definition for a resource mixin.
Resource mixins are resource descriptor fragments typically rooted in tables (though it's conceivable that other structures could grow mixin attributes as well).
They are used to define and implement certain behaviours components of the DC software want to see:
Mixins consist of events that are played back on the structure mixing in before anything else happens (much like original) and two procedure definitions, viz, processEarly and processLate. These can access the structure that has the mixin as substrate.
processEarly is called as part of the substrate's completeElement method. processLate is executed just before the parser exits. This is the place to fix up anything that uses the table mixed in. Note, however, that you should be as conservative as possible here -- you should think of DC structures as immutable as long as possible.
Programmatically, you can check if a certain table mixes in something by calling its mixesIn method.
Recursive application of mixins, even to seperate objects, will deadlock.
| Nested Classes | |
|
Inherited from |
| Class Methods | |
|
Inherited from |
| Class Variables | |
name_ = hash(x) |
|
attrSeq =
|
|
managedAttrs =
|
|
|
Inherited from Inherited from |
|
| Properties | |
|
Inherited from |
| Method Details |
|
|
applies the mixin to an object already parsed. Late callbacks will only be executed if destination has an rd attribute; if that is the case, this rd's idmap will be amended with anything the mixin comes up with. |
| Class Variable Details |
attrSeq
|
managedAttrs
|
| Home | Trees | Indices | Help |
|
|---|
| Generated by Epydoc 3.0.1 on Thu May 2 07:29:09 2019 | http://epydoc.sourceforge.net |