CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
OraReferenceStreamer.h
Go to the documentation of this file.
1 #ifndef INCLUDE_ORA_ORAREFERENCESTREAMER_H
2 #define INCLUDE_ORA_ORAREFERENCESTREAMER_H
3 
4 #include "IRelationalStreamer.h"
5 // externals
6 #include "Reflex/Type.h"
7 
8 namespace ora {
9 
10  class MappingElement;
11  class ContainerSchema;
12 
14 
15  public:
16 
17  explicit OraReferenceStreamerBase( const Reflex::Type& objectType, MappingElement& mapping, ContainerSchema& schema );
18 
19  virtual ~OraReferenceStreamerBase();
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 
37  };
38 
40  public:
41  explicit OraReferenceWriter( const Reflex::Type& objectType, MappingElement& mapping, ContainerSchema& schema );
42 
43  virtual ~OraReferenceWriter();
44 
45  bool build(DataElement& dataElement, IRelationalData& relationalData, RelationalBuffer& operationBuffer);
46 
47  void setRecordId( const std::vector<int>& identity );
48 
49  void write( int oid, const void* data );
50 
51  };
52 
53 
55  public:
56  explicit OraReferenceUpdater( const Reflex::Type& objectType, MappingElement& mapping, ContainerSchema& schema );
57 
58  virtual ~OraReferenceUpdater();
59 
60  bool build(DataElement& dataElement, IRelationalData& relationalData, RelationalBuffer& operationBuffer);
61 
62  void setRecordId( const std::vector<int>& identity );
63 
64  void update( int oid, const void* data );
65 
66  };
67 
69  public:
70  explicit OraReferenceReader( const Reflex::Type& objectType, MappingElement& mapping, ContainerSchema& schema );
71 
72  virtual ~OraReferenceReader();
73 
74  bool build(DataElement& dataElement, IRelationalData& relationalData );
75 
76  void select( int oid );
77 
78  void setRecordId( const std::vector<int>& identity );
79 
80  void read( void* data );
81 
82  void clear();
83 
84  };
85 
87  {
88  public:
89  explicit OraReferenceStreamer( const Reflex::Type& objectType, MappingElement& mapping, ContainerSchema& schema );
90 
92 
94 
96 
98 
99  private:
103  };
104 
105 }
106 
107 
108 #endif
109 
110 
111 
bool build(DataElement &dataElement, IRelationalData &relationalData)
OraReferenceUpdater(const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &schema)
void write(int oid, const void *data)
Writes a data element.
IRelationalWriter * newWriter()
OraReferenceStreamer(const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &schema)
bool build(DataElement &dataElement, IRelationalData &relationalData, RelationalBuffer &operationBuffer)
void setRecordId(const std::vector< int > &identity)
OraReferenceStreamerBase(const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &schema)
bool buildDataElement(DataElement &dataElement, IRelationalData &relationalData)
bool build(DataElement &dataElement, IRelationalData &relationalData, RelationalBuffer &operationBuffer)
void read(void *data)
Reads a data element.
void setRecordId(const std::vector< int > &identity)
void update(int oid, const void *data)
Updates a data element.
OraReferenceReader(const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &schema)
void setRecordId(const std::vector< int > &identity)
char data[epos_bytes_allocation]
Definition: EPOS_Wrapper.h:82
void bindDataForUpdate(const void *data)
OraReferenceWriter(const Reflex::Type &objectType, MappingElement &mapping, ContainerSchema &schema)
IRelationalUpdater * newUpdater()
IRelationalReader * newReader()