#include <ObjectStreamer.h>
Public Member Functions | |
bool | build (DataElement &dataElement, IRelationalData &relationalData, RelationalBuffer &operationBuffer) |
ObjectUpdater (const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &contSchema) | |
void | processDataMember (DataElement &dataElement, IRelationalData &relationalData, Reflex::Type &dataMemberType, MappingElement &dataMemberMapping, RelationalBuffer *operationBuffer) |
void | setRecordId (const std::vector< int > &identity) |
void | update (int oid, const void *data) |
Updates a data element. | |
virtual | ~ObjectUpdater () |
Private Attributes | |
std::vector< IRelationalUpdater * > | m_updaters |
Definition at line 53 of file ObjectStreamer.h.
ora::ObjectUpdater::ObjectUpdater | ( | const Reflex::Type & | objectType, |
MappingElement & | mapping, | ||
ContainerSchema & | contSchema | ||
) |
Definition at line 186 of file ObjectStreamer.cc.
: ObjectStreamerBase( objectType, mapping, contSchema ), m_updaters(){ }
ora::ObjectUpdater::~ObjectUpdater | ( | ) | [virtual] |
Definition at line 193 of file ObjectStreamer.cc.
{ for( std::vector< IRelationalUpdater* >::iterator iU = m_updaters.begin(); iU != m_updaters.end(); ++iU ){ delete *iU; } m_updaters.clear(); }
bool ora::ObjectUpdater::build | ( | DataElement & | dataElement, |
IRelationalData & | relationalData, | ||
RelationalBuffer & | operationBuffer | ||
) | [virtual] |
Implements ora::IRelationalUpdater.
Definition at line 201 of file ObjectStreamer.cc.
{ return buildDataMembers( dataElement, relationalData, &operationBuffer ); }
void ora::ObjectUpdater::processDataMember | ( | DataElement & | dataElement, |
IRelationalData & | relationalData, | ||
Reflex::Type & | dataMemberType, | ||
MappingElement & | dataMemberMapping, | ||
RelationalBuffer * | operationBuffer | ||
) | [virtual] |
Implements ora::ObjectStreamerBase.
Definition at line 223 of file ObjectStreamer.cc.
References ora::IRelationalUpdater::build().
{ IRelationalUpdater* dataMemberUpdater = m_streamerFactory.newUpdater( dataMemberType, dataMemberMapping ); m_updaters.push_back( dataMemberUpdater ); dataMemberUpdater->build( dataMemberElement, relationalData, *operationBuffer ); }
void ora::ObjectUpdater::setRecordId | ( | const std::vector< int > & | identity | ) | [virtual] |
Implements ora::IRelationalUpdater.
Definition at line 207 of file ObjectStreamer.cc.
{ for( std::vector< IRelationalUpdater* >::iterator iU = m_updaters.begin(); iU != m_updaters.end(); ++iU){ (*iU)->setRecordId( identity ); } }
void ora::ObjectUpdater::update | ( | int | oid, |
const void * | data | ||
) | [virtual] |
Updates a data element.
Writes a data element.
Implements ora::IRelationalUpdater.
Definition at line 215 of file ObjectStreamer.cc.
{ for( std::vector< IRelationalUpdater* >::iterator iU = m_updaters.begin(); iU != m_updaters.end(); ++iU ){ (*iU)->update( oid, data ); } }
std::vector< IRelationalUpdater* > ora::ObjectUpdater::m_updaters [private] |
Definition at line 75 of file ObjectStreamer.h.