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 edm::TypeWithDict &objectType, MappingElement &mapping, ContainerSchema &contSchema)
 
void processDataMember (DataElement &dataElement, IRelationalData &relationalData, edm::TypeWithDict &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 edm::TypeWithDict &objType, RelationalBuffer *operationBuffer)
 
bool buildDataMembers (DataElement &dataElement, IRelationalData &relationalData, RelationalBuffer *operationBuffer)
 
 ObjectStreamerBase (const edm::TypeWithDict &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 edm::TypeWithDict objectType,
MappingElement mapping,
ContainerSchema contSchema 
)

Definition at line 236 of file ObjectStreamer.cc.

238  :
239  ObjectStreamerBase( objectType, mapping, contSchema ),
240  m_readers(){
241 }
std::vector< IRelationalReader * > m_readers
ObjectStreamerBase(const edm::TypeWithDict &objectType, MappingElement &mapping, ContainerSchema &contSchema)
ora::ObjectReader::~ObjectReader ( )
virtual

Definition at line 243 of file ObjectStreamer.cc.

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

Member Function Documentation

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

Implements ora::IRelationalReader.

Definition at line 251 of file ObjectStreamer.cc.

Referenced by psClasses.BuildThread::run().

252  {
253  return buildDataMembers( dataElement, relationalData, 0 );
254 }
bool buildDataMembers(DataElement &dataElement, IRelationalData &relationalData, RelationalBuffer *operationBuffer)
void ora::ObjectReader::clear ( void  )
virtual
void ora::ObjectReader::processDataMember ( DataElement dataElement,
IRelationalData relationalData,
edm::TypeWithDict dataMemberType,
MappingElement dataMemberMapping,
RelationalBuffer operationBuffer 
)
virtual

Implements ora::ObjectStreamerBase.

Definition at line 285 of file ObjectStreamer.cc.

References ora::IRelationalReader::build().

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

Reads a data element.

Read a data element.

Implements ora::IRelationalReader.

Definition at line 271 of file ObjectStreamer.cc.

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

271  {
272  for( std::vector< IRelationalReader* >::iterator iDepReader = m_readers.begin();
273  iDepReader != m_readers.end(); ++iDepReader ){
274  (*iDepReader)->read( data );
275  }
276 }
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 263 of file ObjectStreamer.cc.

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

Member Data Documentation

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

Definition at line 103 of file ObjectStreamer.h.