Regina Calculation Engine
|
An individual task for resolving dangling packet references after an XML data file has been read. More...
#include <packet/nxmltreeresolver.h>
Public Member Functions | |
virtual | ~NXMLTreeResolutionTask () |
A default construct that does nothing. More... | |
virtual void | resolve (const NXMLTreeResolver &resolver)=0 |
Called by NXMLTreeResolver after the entire data file has been read. More... | |
An individual task for resolving dangling packet references after an XML data file has been read.
See the NXMLTreeResolver class notes for an overview of how dangling references and related issues are resolved, and the role that NXMLTreeResolutionTask plays in this process.
Specifically, if an individual NXMLPacketReader cannot completely flesh out the internal data for a packet as the packet is being read, it should construct a new NXMLTreeResolutionTask and queue it to the master NXMLTreeResolver. The NXMLTreeResolver will then call resolve() for each queued task after the complete data file has been read, at which point whatever information was missing when the packet was initially read should now be available.
Each packet reader that requires this machinery should subclass NXMLTreeResolutionTask, and override resolve() to perform whatever "fleshing out" procedure is required for its particular type of packet.
|
inlinevirtual |
A default construct that does nothing.
|
pure virtual |
Called by NXMLTreeResolver after the entire data file has been read.
Subclasses should override this routine to perform whatever "fleshing out" is necessary for a packet whose internal data is not yet complete.
resolver | the master resolver managing the resolution process, as outlined in the NXMLTreeResolver class notes. |