GlobalObjects
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
GloPoRefSetRecordAttribute.h
Go to the documentation of this file.
1#ifndef INC_GLOPOREFSETRECORDATTRIBUTE_H
2#define INC_GLOPOREFSETRECORDATTRIBUTE_H
3//-----------------------------------------------------------------------------
43//-----------------------------------------------------------------------------
44#include <set>
45#include "GloTypes.h"
47#include "GloObjIDRecordTuple.h"
48//-----------------------------------------------------------------------------
49namespace glo
50{
51 //---------------------------------------------------------------------------
52 /* Forwards */
53 class ObjIDRecordTuple;
55 //---------------------------------------------------------------------------
56 #ifdef _MSC_VER
57 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
58 #pragma warning( disable : 4251 )
59 #endif
60 //---------------------------------------------------------------------------
84 {
85 private:
86 //============== Attribute
87 //-----------------------------------------------------------------------
99 std::set<ObjIDRecordTuple *> m_ValueSet;
100 //-----------------------------------------------------------------------
112 std::set<GenericPersistent *> m_GenericSet;
113 //-----------------------------------------------------------------------
114
115 protected:
116 //============= Konstruktoren
117 //-----------------------------------------------------------------------
128 //-----------------------------------------------------------------------
141 //-----------------------------------------------------------------------
142
143 public:
144 //============= Konstruktoren
145 //-----------------------------------------------------------------------
169 const std::streampos & rFilePos );
170 //-----------------------------------------------------------------------
196 const std::set<ObjIDRecordTuple*> & rValueSet,
197 const std::streampos & rFilePos );
198 //-----------------------------------------------------------------------
199
200 protected:
201 //============== Konstruktoren
202 //-----------------------------------------------------------------------
216 //-----------------------------------------------------------------------
217
218 public:
219 //============== Methoden
220 //-----------------------------------------------------------------------
232 void insert( const ObjIDRecordTuple & rObjIDRecordTuple );
233 //-----------------------------------------------------------------------
247 void setValue( const std::set<ObjIDRecordTuple*> & rValueSet );
248 //-----------------------------------------------------------------------
267 virtual void setValueFromVoid( void * pValueSet ) override;
268 //-----------------------------------------------------------------------
291 const AttributeID & rAttributeID ) override;
292 //-----------------------------------------------------------------------
317 const AttributeID & rAttributeID,
318 bool bWithRefRecords );
319 //-----------------------------------------------------------------------
331 const std::set<ObjIDRecordTuple*> & getValueRef() const;
332 //-----------------------------------------------------------------------
346 bool hasRecords() const;
347 //-----------------------------------------------------------------------
362 void setGenericSet( const std::set< GenericPersistent * > & rPersGenericSet );
363 //-----------------------------------------------------------------------
375 const std::set< GenericPersistent * > & getGenericSetRef() const;
376 //-----------------------------------------------------------------------
388 bool isGeneric() const;
389 //-----------------------------------------------------------------------
401 virtual std::string getValueAsStreamString() const override;
402 //-----------------------------------------------------------------------
414 virtual void * getValueAsVoidPointer() override;
415 //-----------------------------------------------------------------------
435 virtual int takeValue( const BaseRecordAttribute & rT ) override;
436 //-----------------------------------------------------------------------
448 virtual std::size_t getValueSize() const override;
449 //-----------------------------------------------------------------------
462 virtual void clearValueLot() override;
463 //-----------------------------------------------------------------------
475 virtual void clearValueSet();
476 //-----------------------------------------------------------------------
488 virtual void clearGenericSet();
489 //-----------------------------------------------------------------------
509 virtual BaseRecordAttribute * getCopy() override;
510 //-----------------------------------------------------------------------
511
512 protected:
513 //============== Methoden
514 //-----------------------------------------------------------------------
535 virtual void streamValueListInFileStream( std::ofstream & rFileStream ) override;
536 //-----------------------------------------------------------------------
537
538 //============== Operatoren
539 //-----------------------------------------------------------------------
541
552 bool operator== ( const PoRefSetRecordAttribute & rT ) const;
553 bool operator!= ( const PoRefSetRecordAttribute & rT ) const;
555 //-----------------------------------------------------------------------
556
557 private:
558 //============== Operatoren
559 //-----------------------------------------------------------------------
570 //-----------------------------------------------------------------------
571 };
572 //---------------------------------------------------------------------------
573 #ifdef _MSC_VER
574 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
575 #pragma warning( default : 4251 )
576 #endif
577 //---------------------------------------------------------------------------
578} // namespace glo
579#endif
Header for LotRecordAttribute
Header for ObjIDRecordTuple
For each library, here 'GlobalObjects' there is a type file.
#define __glo_export_dll
Definition GloTypes.h:70
This class reflects a unique ID of a class information attribute.
Definition GloAttributeID.h:81
Base class for the individual attributes of a Record.
Definition GloBaseRecordAttribute.h:116
In objects of this class, the information for GlobalObjects is how a persistent class attribute is st...
Definition GloClassInfoAttribute.h:83
Generic persistent class. Does not require ObjCreator or ObjectMaker. Objects from the database can b...
Definition GloGenericPersistent.h:91
A tuple of record and object ID.
Definition GloObjIDRecordTuple.h:80
The base class of the persistent classes. All persistent classes must be derived from this class to b...
Definition GloPersistent.h:245
virtual BaseRecordAttribute * getCopy() override
virtual void * getValueAsVoidPointer() override
virtual void setValueFromVoid(void *pValueSet) override
PoRefSetRecordAttribute(ClassInfoAttribute *pType, const std::streampos &rFilePos)
virtual void clearGenericSet()
const std::set< ObjIDRecordTuple * > & getValueRef() const
PoRefSetRecordAttribute(ClassInfoAttribute *pType, const std::set< ObjIDRecordTuple * > &rValueSet, const std::streampos &rFilePos)
virtual std::size_t getValueSize() const override
virtual int setValueFromObjectAttributeID(Persistent &rObject, const AttributeID &rAttributeID) override
void setGenericSet(const std::set< GenericPersistent * > &rPersGenericSet)
virtual int setValueFromObjectAttributeID(Persistent &rObject, const AttributeID &rAttributeID, bool bWithRefRecords)
std::set< GenericPersistent * > m_GenericSet
Definition GloPoRefSetRecordAttribute.h:112
std::set< ObjIDRecordTuple * > m_ValueSet
Definition GloPoRefSetRecordAttribute.h:99
void insert(const ObjIDRecordTuple &rObjIDRecordTuple)
virtual void streamValueListInFileStream(std::ofstream &rFileStream) override
const std::set< GenericPersistent * > & getGenericSetRef() const
virtual int takeValue(const BaseRecordAttribute &rT) override
void setValue(const std::set< ObjIDRecordTuple * > &rValueSet)
virtual void clearValueLot() override
PoRefSetRecordAttribute(const PoRefSetRecordAttribute &rT)
virtual std::string getValueAsStreamString() const override
Definition GloAbstractBaseLot.h:49