#include <InlineCArrayStreamer.h>
Public Member Functions | |
bool | build (DataElement &dataElement, IRelationalData &relationalData, RelationalBuffer &operationBuffer) |
InlineCArrayUpdater (const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &contSchema) | |
void | processArrayElement (DataElement &arrayElementOffset, IRelationalData &relationalData, MappingElement &arrayElementMapping, RelationalBuffer *operationBuffer) |
void | setRecordId (const std::vector< int > &identity) |
void | update (int oid, const void *data) |
Updates a data element. | |
virtual | ~InlineCArrayUpdater () |
Private Attributes | |
std::vector< IRelationalUpdater * > | m_updaters |
Definition at line 56 of file InlineCArrayStreamer.h.
ora::InlineCArrayUpdater::InlineCArrayUpdater | ( | const Reflex::Type & | objectType, |
MappingElement & | mapping, | ||
ContainerSchema & | contSchema | ||
) |
Definition at line 98 of file InlineCArrayStreamer.cc.
: InlineCArrayStreamerBase( objectType, mapping, contSchema ), m_updaters(){ }
ora::InlineCArrayUpdater::~InlineCArrayUpdater | ( | ) | [virtual] |
Definition at line 105 of file InlineCArrayStreamer.cc.
{ for( std::vector< IRelationalUpdater* >::iterator iU = m_updaters.begin(); iU != m_updaters.end(); ++iU ){ delete *iU; } m_updaters.clear(); }
bool ora::InlineCArrayUpdater::build | ( | DataElement & | dataElement, |
IRelationalData & | relationalData, | ||
RelationalBuffer & | operationBuffer | ||
) | [virtual] |
Implements ora::IRelationalUpdater.
Definition at line 122 of file InlineCArrayStreamer.cc.
{ return buildDataElement( dataElement, relationalData, &operationBuffer ); }
void ora::InlineCArrayUpdater::processArrayElement | ( | DataElement & | arrayElementOffset, |
IRelationalData & | relationalData, | ||
MappingElement & | arrayElementMapping, | ||
RelationalBuffer * | operationBuffer | ||
) | [virtual] |
Implements ora::InlineCArrayStreamerBase.
Definition at line 113 of file InlineCArrayStreamer.cc.
References ora::IRelationalUpdater::build().
{ IRelationalUpdater* arrayElementUpdater = m_streamerFactory.newUpdater( m_arrayType, arrayElementMapping ); m_updaters.push_back( arrayElementUpdater ); arrayElementUpdater->build( arrayElementOffset, relationalData, *operationBuffer ); }
void ora::InlineCArrayUpdater::setRecordId | ( | const std::vector< int > & | identity | ) | [virtual] |
Implements ora::IRelationalUpdater.
Definition at line 128 of file InlineCArrayStreamer.cc.
{ for( std::vector< IRelationalUpdater* >::iterator iU = m_updaters.begin(); iU != m_updaters.end(); ++iU){ (*iU)->setRecordId( identity ); } }
void ora::InlineCArrayUpdater::update | ( | int | oid, |
const void * | data | ||
) | [virtual] |
Updates a data element.
Implements ora::IRelationalUpdater.
Definition at line 135 of file InlineCArrayStreamer.cc.
{ for( std::vector< IRelationalUpdater* >::iterator iU = m_updaters.begin(); iU != m_updaters.end(); ++iU ){ (*iU)->update( oid, data ); } }
std::vector<IRelationalUpdater*> ora::InlineCArrayUpdater::m_updaters [private] |
Definition at line 70 of file InlineCArrayStreamer.h.