00001 // $Header: /bes/bes/BossCvs/Calibration/rdbModel/rdbModel/Tables/InsertNew.h,v 1.1.1.1 2005/10/17 06:10:53 maqm Exp $ 00002 #ifndef RDBMODEL_INSERTNEW_H 00003 #define RDBMODEL_INSERTNEW_H 00004 #include <vector> 00005 #include <string> 00006 #include "rdbModel/Management/Visitor.h" 00007 00008 namespace rdbModel{ 00009 00010 class InterRow; 00011 class Assertion; 00012 class Table; 00013 00021 class InsertNew { 00022 public: 00023 InsertNew(Table* table, Assertion* internal, Assertion* official) 00024 : m_myTable(table), m_internal(internal), m_official(official) { 00025 m_interRow.clear(); 00026 } 00027 00028 ~InsertNew(); 00029 00030 const Assertion* getInternal() const {return m_internal;} 00031 const Assertion* getOfficial() const {return m_official;} 00032 const std::vector<InterRow*>& getInterRow() const {return m_interRow;} 00033 00034 const Table* getTable() const {return m_myTable;} 00035 00036 Visitor::VisitorState accept(Visitor* v); 00037 // void addInternal(Assertion* internal) {m_internal = internal;} 00038 // void addOfficial(Assertion* official) {m_official = official;} 00039 void addInterRow(InterRow* interRow) {m_interRow.push_back(interRow);} 00040 00041 00042 private: 00043 Table* m_myTable; 00044 // bool m_keepOp; 00046 Assertion* m_internal; 00048 Assertion* m_official; 00049 std::vector<InterRow*> m_interRow; 00050 }; 00051 } 00052 #endif 00053