00001 #ifndef INCLUDE_ORA_RELATIONALDELETER_H 00002 #define INCLUDE_ORA_RELATIONALDELETER_H 00003 00004 #include "MappingElement.h" 00005 00006 namespace ora { 00007 00008 class MappingElement; 00009 class RelationalBuffer; 00010 class DeleteOperation; 00011 00012 class RelationalDeleter { 00013 00014 public: 00015 00016 explicit RelationalDeleter( MappingElement& dataMapping ); 00017 explicit RelationalDeleter( const std::vector<MappingElement>& mappingList ); 00018 00020 virtual ~RelationalDeleter(); 00021 00022 void build( RelationalBuffer& buffer ); 00023 00024 void clear(); 00025 00026 void erase( int itemId ); 00027 00028 private: 00029 std::vector<const MappingElement*> m_mappings; 00030 std::vector<DeleteOperation*> m_operations; 00031 00032 }; 00033 } 00034 00035 #endif 00036 00037