CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
ora::ObjectReader Class Reference

#include <ObjectStreamer.h>

Inheritance diagram for ora::ObjectReader:
ora::ObjectStreamerBase ora::IRelationalReader

Public Member Functions

bool build (DataElement &offset, IRelationalData &relationalData)
 
void clear ()
 
 ObjectReader (const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &contSchema)
 
void processDataMember (DataElement &dataElement, IRelationalData &relationalData, Reflex::Type &dataMemberType, MappingElement &dataMemberMapping, RelationalBuffer *operationBuffer)
 
void read (void *destination)
 Reads a data element. More...
 
void select (int oid)
 
void setRecordId (const std::vector< int > &identity)
 
virtual ~ObjectReader ()
 
- Public Member Functions inherited from ora::ObjectStreamerBase
void buildBaseDataMembers (DataElement &dataElement, IRelationalData &relationalData, const Reflex::Type &objType, RelationalBuffer *operationBuffer)
 
bool buildDataMembers (DataElement &dataElement, IRelationalData &relationalData, RelationalBuffer *operationBuffer)
 
 ObjectStreamerBase (const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &contSchema)
 
virtual ~ObjectStreamerBase ()
 
- Public Member Functions inherited from ora::IRelationalReader
virtual ~IRelationalReader ()
 

Private Attributes

std::vector< IRelationalReader * > m_readers
 

Additional Inherited Members

- Protected Attributes inherited from ora::ObjectStreamerBase
RelationalStreamerFactory m_streamerFactory
 

Detailed Description

Definition at line 78 of file ObjectStreamer.h.

Constructor & Destructor Documentation

ora::ObjectReader::ObjectReader ( const Reflex::Type &  objectType,
MappingElement mapping,
ContainerSchema contSchema 
)

Definition at line 233 of file ObjectStreamer.cc.

235  :
236  ObjectStreamerBase( objectType, mapping, contSchema ),
237  m_readers(){
238 }
std::vector< IRelationalReader * > m_readers
ObjectStreamerBase(const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &contSchema)
ora::ObjectReader::~ObjectReader ( )
virtual

Definition at line 240 of file ObjectStreamer.cc.

240  {
241  for( std::vector< IRelationalReader* >::iterator iStr = m_readers.begin();
242  iStr != m_readers.end(); ++iStr ){
243  delete *iStr;
244  }
245  m_readers.clear();
246 }
std::vector< IRelationalReader * > m_readers

Member Function Documentation

bool ora::ObjectReader::build ( DataElement offset,
IRelationalData relationalData 
)
virtual

Implements ora::IRelationalReader.

Definition at line 248 of file ObjectStreamer.cc.

249  {
250  return buildDataMembers( dataElement, relationalData, 0 );
251 }
bool buildDataMembers(DataElement &dataElement, IRelationalData &relationalData, RelationalBuffer *operationBuffer)
void ora::ObjectReader::clear ( void  )
virtual
void ora::ObjectReader::processDataMember ( DataElement dataElement,
IRelationalData relationalData,
Reflex::Type &  dataMemberType,
MappingElement dataMemberMapping,
RelationalBuffer operationBuffer 
)
virtual

Implements ora::ObjectStreamerBase.

Definition at line 282 of file ObjectStreamer.cc.

References ora::IRelationalReader::build().

286  {
287  IRelationalReader* dataMemberReader = m_streamerFactory.newReader( dataMemberType, dataMemberMapping );
288  m_readers.push_back( dataMemberReader );
289  dataMemberReader->build( dataMemberElement, relationalData );
290 }
IRelationalReader * newReader(const Reflex::Type &dataType, MappingElement &dataMapping)
std::vector< IRelationalReader * > m_readers
RelationalStreamerFactory m_streamerFactory
void ora::ObjectReader::read ( void *  destination)
virtual

Reads a data element.

Read a data element.

Implements ora::IRelationalReader.

Definition at line 268 of file ObjectStreamer.cc.

Referenced by Vispa.Plugins.EdmBrowser.EdmDataAccessor.EdmDataAccessor::goto(), and Vispa.Plugins.EdmBrowser.EdmDataAccessor.EdmDataAccessor::setFilterBranches().

268  {
269  for( std::vector< IRelationalReader* >::iterator iDepReader = m_readers.begin();
270  iDepReader != m_readers.end(); ++iDepReader ){
271  (*iDepReader)->read( data );
272  }
273 }
std::vector< IRelationalReader * > m_readers
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
void ora::ObjectReader::select ( int  oid)
virtual
void ora::ObjectReader::setRecordId ( const std::vector< int > &  identity)
virtual

Implements ora::IRelationalReader.

Definition at line 260 of file ObjectStreamer.cc.

260  {
261  for( std::vector< IRelationalReader* >::iterator iDepReader = m_readers.begin();
262  iDepReader != m_readers.end(); ++iDepReader ){
263  (*iDepReader)->setRecordId( identity );
264  }
265 }
std::vector< IRelationalReader * > m_readers

Member Data Documentation

std::vector< IRelationalReader* > ora::ObjectReader::m_readers
private

Definition at line 103 of file ObjectStreamer.h.