CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
PrimitiveStreamer.h
Go to the documentation of this file.
1 #ifndef INCLUDE_ORA_PRIMITIVESTREAMER_H
2 #define INCLUDE_ORA_PRIMITIVESTREAMER_H
3 
4 #include "IRelationalStreamer.h"
5 // externals
6 #include "Reflex/Type.h"
7 
8 namespace ora {
9 
10  class MappingElement;
11  class DataElement;
12 
14 
15  public:
16 
17  PrimitiveStreamerBase( const Reflex::Type& objectType, MappingElement& mapping );
18 
19  virtual ~PrimitiveStreamerBase();
20 
21  bool buildDataElement( DataElement& dataElement, IRelationalData& relationalData );
22 
23  void bindDataForUpdate( const void* data );
24 
25  void bindDataForRead( void* data );
26 
27  private:
28 
30  std::string m_columnName;
33  };
34 
36  public:
37  PrimitiveWriter( const Reflex::Type& objectType, MappingElement& mapping );
38 
39  virtual ~PrimitiveWriter();
40 
41  bool build(DataElement& dataElement, IRelationalData& relationalData, RelationalBuffer& operationBuffer);
42 
43  void setRecordId( const std::vector<int>& identity );
44 
45  void write( int oid, const void* data );
46 
47  };
48 
49 
51  public:
52  PrimitiveUpdater( const Reflex::Type& objectType, MappingElement& mapping );
53 
54  virtual ~PrimitiveUpdater();
55 
56  bool build(DataElement& dataElement, IRelationalData& relationalData, RelationalBuffer& operationBuffer);
57 
58  void setRecordId( const std::vector<int>& identity );
59 
60  void update( int oid, const void* data );
61 
62  };
63 
65  public:
66  PrimitiveReader( const Reflex::Type& objectType, MappingElement& mapping );
67 
68  virtual ~PrimitiveReader();
69 
70  bool build(DataElement& dataElement, IRelationalData& relationalData );
71 
72  void select( int oid );
73 
74  void setRecordId( const std::vector<int>& identity );
75 
76  void read( void* data );
77 
78  void clear();
79 
80  };
81 
83  {
84  public:
85  PrimitiveStreamer( const Reflex::Type& objectType, MappingElement& mapping );
86 
88 
90 
92 
94 
95  private:
98  };
99 
100 }
101 
102 
103 #endif
104 
105 
106 
IRelationalUpdater * newUpdater()
IRelationalWriter * newWriter()
bool buildDataElement(DataElement &dataElement, IRelationalData &relationalData)
IRelationalData * m_relationalData
PrimitiveUpdater(const Reflex::Type &objectType, MappingElement &mapping)
void setRecordId(const std::vector< int > &identity)
void write(int oid, const void *data)
Writes a data element.
PrimitiveStreamerBase(const Reflex::Type &objectType, MappingElement &mapping)
PrimitiveWriter(const Reflex::Type &objectType, MappingElement &mapping)
MappingElement & m_mapping
void read(void *data)
Reads a data element.
void update(int oid, const void *data)
Updates a data element.
PrimitiveStreamer(const Reflex::Type &objectType, MappingElement &mapping)
void bindDataForRead(void *data)
PrimitiveReader(const Reflex::Type &objectType, MappingElement &mapping)
void setRecordId(const std::vector< int > &identity)
void bindDataForUpdate(const void *data)
bool build(DataElement &dataElement, IRelationalData &relationalData)
bool build(DataElement &dataElement, IRelationalData &relationalData, RelationalBuffer &operationBuffer)
IRelationalReader * newReader()
bool build(DataElement &dataElement, IRelationalData &relationalData, RelationalBuffer &operationBuffer)
void setRecordId(const std::vector< int > &identity)