DocumentReader.DocumentReader Class Reference


Detailed Description

DocumentReader is a class for reading the contents of a file into a given document.

Derive a sub-class for each combination of file format and set of features (typically represented by a particular type of document). The only method that requires overriding is the initialize(). See the method comments for initialize() for more details.

Example: Suppose class MyDocument has three features: Models, Materials, and Material assignments, and we want to read an XML file that contains that data for these features. The readers for these features take the root XMLSaxData as the source, and appear as follows:

class XMLModelReader( FeatureReader ): def read( self, xmlRootData, document ): ...

class XMLMaterialReader( FeatureReader ): def read( self, xmlRootData, document ): ...

class XMLMaterialAssignmentReader( FeatureReader ): def read( self, xmlRootData, document ): ...

The document reader would be as follows:

class XMLMyDocumentReader( DocumentReader ): def initialize( self ): # Register the feature readers for the features that that this # document reader will read. # import ModelFeature import MaterialFeature import MaterialAsssignmentFeature

self.register( ModelFeature.id, XMLModelReader ) self.register( MaterialFeature.id, XMLMaterialReader ) self.register( MaterialAsssignmentFeature.id, XMLMaterialAssignmentReader )

# Parse the XML file using the XMLSaxReader and set the XMLSaxData # object as the source. # try: xmlRootData = XMLSaxReader.parse( self.getFilename() ) self.setSource( xmlRootData ) return DocumentReader.initialize( self ) except: return False

One would use this reader as follows:

document = MyDocument() reader = XMLMyDocumentReader( document, 'some_file.xml' ) reader.read( )

#include <class_document_reader_1_1_document_reader.h>

Inheritance diagram for DocumentReader.DocumentReader:
Inheritance graph
[legend]

List of all members.

Public Member Functions

  __init__ ()
  setStageId ()
  getStageId ()
  setNamespaceId ()
  getNamespaceId ()
  getFilename ()
  Returns the filename corresponding to the file to be read.
  initialize ()
  Override this in any derived class.
  readSource ()
  read ()
  Reads the file contents, for the features that have registered readers, into the given document.
  getSource ()
  Returns the source from which the data will be read.
  setSource ()
  Sets the source from which the data will be read.
  setVersion ()
  getVersion ()
  setUsage ()
  getUsage ()
  getFeatureReader ()
  Given a feature id, returns the registered reader for the corresponding feature; None if no readers was registered.
  register ()
  Registers the given FeatureReader class for the feature identified by the given id.
  setSearchPaths ()
  Given a feature id, sets the search paths to be used by its corresponding FeatureReader.
  setUnitConversionMultiplier ()
  See FeatureReader method for details.

Member Function Documentation

DocumentReader.DocumentReader.__init__ ( )
DocumentReader.DocumentReader.setStageId ( )
DocumentReader.DocumentReader.getStageId ( )
DocumentReader.DocumentReader.setNamespaceId ( )
DocumentReader.DocumentReader.getNamespaceId ( )
DocumentReader.DocumentReader.getFilename ( )

Returns the filename corresponding to the file to be read.

DocumentReader.DocumentReader.initialize ( )

Override this in any derived class.

Tasks that should be performed here include:

  • setting the source, using setSource(), if necessary
  • registering a feature reader for each of the features that this document reader is responsible for.

At the end of the derived initialize() implementation, this base class method must be called.

Reimplemented in XMLDocumentReader.XMLDocumentReader.

DocumentReader.DocumentReader.readSource ( )
DocumentReader.DocumentReader.read ( )

Reads the file contents, for the features that have registered readers, into the given document.

DocumentReader.DocumentReader.getSource ( )

Returns the source from which the data will be read.

DocumentReader.DocumentReader.setSource ( )

Sets the source from which the data will be read.

Classes derived from this one should call this method with the type of data best suited for reading the given document.

DocumentReader.DocumentReader.setVersion ( )
DocumentReader.DocumentReader.getVersion ( )
DocumentReader.DocumentReader.setUsage ( )
DocumentReader.DocumentReader.getUsage ( )
DocumentReader.DocumentReader.getFeatureReader ( )

Given a feature id, returns the registered reader for the corresponding feature; None if no readers was registered.

DocumentReader.DocumentReader.register ( )

Registers the given FeatureReader class for the feature identified by the given id.

DocumentReader.DocumentReader.setSearchPaths ( )

Given a feature id, sets the search paths to be used by its corresponding FeatureReader.

Returns True if set successfully; False otherwise.

DocumentReader.DocumentReader.setUnitConversionMultiplier ( )

DocumentReader.DocumentReader DocumentReader.DocumentReader DocumentReader.DocumentReader DocumentReader.DocumentReader DocumentReader.DocumentReader DocumentReader.DocumentReader DocumentReader.DocumentReader DocumentReader.DocumentReader DocumentReader.DocumentReader DocumentReader.DocumentReader
DocumentReader.DocumentReader DocumentReader.DocumentReader DocumentReader.DocumentReader DocumentReader.DocumentReader DocumentReader.DocumentReader DocumentReader.DocumentReader DocumentReader.DocumentReader DocumentReader.DocumentReader DocumentReader.DocumentReader DocumentReader.DocumentReader