/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Calibration/rdbModel/rdbModel-00-01-01/rdbModel/Management/XercesBuilder.h

Go to the documentation of this file.
00001 // $Header: /bes/bes/BossCvs/Calibration/rdbModel/rdbModel/Management/XercesBuilder.h,v 1.1.1.1 2005/10/17 06:10:53 maqm Exp $
00002 #ifndef RDBMODEL_XERCESBUILDER_H
00003 #define RDBMODEL_XERCESBUILDER_H
00004 
00005 #include "rdbModel/Management/Builder.h"
00006 #include <xercesc/dom/DOMDocument.hpp>
00007 #include <xercesc/dom/DOMElement.hpp>
00008 #include "rdbModel/Tables/Column.h"
00009 #include "rdbModel/Tables/Assertion.h"
00010 namespace rdbModel{
00011 
00012   class Table;    // single rdbms table
00013   class Index;    // index/key (may be primary or not)
00014   class Datatype;
00015   class Supersede;
00016   class InterRow;
00017   class InsertNew;
00018   class Query;
00019   class Set;
00026   class XercesBuilder : public Builder {
00027   public:
00028 
00032     XercesBuilder();
00033 
00034     virtual ~XercesBuilder() {};
00035   
00040     virtual unsigned int parseInput(const std::string& inputPath);
00041 
00043     virtual int buildRdb();
00044 
00045   private:
00046     // A bunch of private methods to handle the details of creating an
00047     // object from the corresponding xml description
00048 
00050     Table* buildTable(XERCES_CPP_NAMESPACE_QUALIFIER DOMElement* e);
00051 
00053     Column* buildColumn(XERCES_CPP_NAMESPACE_QUALIFIER DOMElement* e,Table* t);
00054 
00059     Index* buildIndex(XERCES_CPP_NAMESPACE_QUALIFIER DOMElement* e, 
00060                       bool primary, Table* t);
00061 
00062     Assertion* buildAssertion(XERCES_CPP_NAMESPACE_QUALIFIER DOMElement* e, 
00063                               Table* t);
00064 
00065     Assertion::Operator* 
00066     buildOperator(XERCES_CPP_NAMESPACE_QUALIFIER DOMElement* e, Table* t);
00067 
00068     Datatype* buildDatatype(XERCES_CPP_NAMESPACE_QUALIFIER DOMElement* e);
00069     Set* buildSet(XERCES_CPP_NAMESPACE_QUALIFIER DOMElement* e, Table* t);
00070 
00071     InsertNew* buildInsertNew(XERCES_CPP_NAMESPACE_QUALIFIER DOMElement* e, 
00072                               Table* t);
00073 
00074     InterRow* buildInterRow(XERCES_CPP_NAMESPACE_QUALIFIER DOMElement* e, 
00075                             Table* t);
00076 
00077     Query* buildQuery(XERCES_CPP_NAMESPACE_QUALIFIER DOMElement* e, 
00078                       Table* t);
00079 
00080     //   Set* buildSet(XERCES_CPP_NAMESPACE_QUALIFIER DOMElement* e, Table* t);
00081 
00082     Supersede* buildSupersede(XERCES_CPP_NAMESPACE_QUALIFIER DOMElement* e, 
00083                              Table* t);
00084 
00085     XERCES_CPP_NAMESPACE_QUALIFIER DOMDocument* m_doc;
00086     Rdb* m_rdb;
00087 
00088   };
00089 }
00090 #endif //XERCESBUILDER_H
00091 
00092 
00093 
00094 
00095 
00096 
00097 

Generated on Tue Nov 29 22:57:56 2016 for BOSS_7.0.2 by  doxygen 1.4.7