GlobalObjects
Lade ...
Suche ...
Keine Treffer
GloClassInfoAttribute.h
gehe zur Dokumentation dieser Datei
1#ifndef INC_GLOCLASSINFOATTRIBUTE_H
2#define INC_GLOCLASSINFOATTRIBUTE_H
3//-----------------------------------------------------------------------------
36//-----------------------------------------------------------------------------
37#include "GloTypes.h"
38#include <string>
39#include <unordered_set>
40#include "GloClassInfoItem.h"
41#include "EuLanguageFunctions.h"
42//-----------------------------------------------------------------------------
43namespace glo
44{
45 //---------------------------------------------------------------------------
47 class AttributeID;
48 class GloBaseRecordAttribute;
49 //---------------------------------------------------------------------------
50 #ifdef _MSC_VER
51 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
52 #pragma warning( disable : 4251 )
53 #endif
54 //---------------------------------------------------------------------------
76 {
77 private:
78 //============== Friends
79 //-----------------------------------------------------------------------
80 friend class SchemaInterface;
81 friend class ClassInfo;
82 //-----------------------------------------------------------------------
83
84 public:
85 //-----------------------------------------------------------------------
86 // >>>>>>>>>>>>>>>>>>>>>>>>>>> Type >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
87 //-----------------------------------------------------------------------
101 {
102 private:
103 //============== Attribute
104 //---------------------------------------------------------------------
115 //---------------------------------------------------------------------
116 // doxygen -> warning: unable to resolve reference to 'GLO_REF_DEPENDENT' for \ref command
117 // Is a reference to the GlobalObjects documentation.
118 //---------------------------------------------------------------------
130 std::string m_sInfo;
131 //---------------------------------------------------------------------
143 std::string m_sSubType;
144 //---------------------------------------------------------------------
156 unsigned long m_ulSubTypeClassID;
157 //---------------------------------------------------------------------
158
159 public:
160 //============== Konstruktoren
161 //---------------------------------------------------------------------
172 //---------------------------------------------------------------------
173 // doxygen -> warning: unable to resolve reference to 'GLO_REF_DEPENDENT' for \ref command
174 // Is a reference to the GlobalObjects documentation.
175 //---------------------------------------------------------------------
202 const std::string & rsInfo,
203 const std::string & rsSubType,
204 unsigned long ulSubTypeClassID );
205 //---------------------------------------------------------------------
217 Type( const Type & rT );
218 //---------------------------------------------------------------------
219
220 //============== Methoden
221 //---------------------------------------------------------------------
233 void setType( EnDataType eType );
234 //---------------------------------------------------------------------
247 //---------------------------------------------------------------------
248 // doxygen -> warning: unable to resolve reference to 'GLO_REF_DEPENDENT' for \ref command
249 // Is a reference to the GlobalObjects documentation.
250 //---------------------------------------------------------------------
264 void setTypeInfo( const std::string & rsInfo );
265 //---------------------------------------------------------------------
266 // doxygen -> warning: unable to resolve reference to 'GLO_REF_DEPENDENT' for \ref command
267 // Is a reference to the GlobalObjects documentation.
268 //---------------------------------------------------------------------
282 std::string getTypeInfo() const;
283 //---------------------------------------------------------------------
297 void setSubType( const std::string & rsSubType );
298 //---------------------------------------------------------------------
312 std::string getSubType() const;
313 //---------------------------------------------------------------------
327 void setSubTypeClassID( unsigned long ulSubTypeClassID );
328 //---------------------------------------------------------------------
342 unsigned long getSubTypeClassID() const;
343 //---------------------------------------------------------------------
344
345 //============== Operatoren
346 //---------------------------------------------------------------------
348
359 bool operator== ( const ClassInfoAttribute::Type & rT ) const;
360 bool operator!= ( const ClassInfoAttribute::Type & rT ) const;
362 //---------------------------------------------------------------------
375 //---------------------------------------------------------------------
376 };
377 //-----------------------------------------------------------------------
378 // <<<<<<<<<<<<<<<<<<<<<<<<<<<< Type <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
379 //-----------------------------------------------------------------------
380
381 private:
382 //============== Attribute
383 //-----------------------------------------------------------------------
395 std::string m_sTableName;
396 //-----------------------------------------------------------------------
408 std::string m_sFieldName;
409 //-----------------------------------------------------------------------
422 //-----------------------------------------------------------------------
433 //-----------------------------------------------------------------------
434
435 //============== Developer Attribute
436 //-----------------------------------------------------------------------
457 //-----------------------------------------------------------------------
458
459 public:
460 //============= Konstruktoren
461 //-----------------------------------------------------------------------
472 //-----------------------------------------------------------------------
473 // doxygen -> warning: unable to resolve reference to 'GLO_REF_DEPENDENT' for \ref command
474 // Is a reference to the GlobalObjects documentation.
475 //-----------------------------------------------------------------------
507 ClassInfoAttribute( const std::string & rsName,
508 const std::string & rsTableName,
509 const std::string & rsFieldName,
510 int iFieldPos,
511 const std::string & rsAttributeType,
512 const std::string & rsInfo );
513 //-----------------------------------------------------------------------
526 //-----------------------------------------------------------------------
537 //-----------------------------------------------------------------------
538
539 //============== Methoden
540 //-----------------------------------------------------------------------
551 //-----------------------------------------------------------------------
565 void setTableName( const std::string & rsName );
566 //-----------------------------------------------------------------------
580 void setFieldName( const std::string & rsName );
581 //-----------------------------------------------------------------------
593 void setFieldPos( int iFieldPos );
594 //-----------------------------------------------------------------------
606 void setDataType( EnDataType eType );
607 //-----------------------------------------------------------------------
608 // doxygen -> warning: unable to resolve reference to 'GLO_REF_DEPENDENT' for \ref command
609 // Is a reference to the GlobalObjects documentation.
610 //-----------------------------------------------------------------------
626 void setDataTypeInfo( const std::string & rsInfo );
627 //-----------------------------------------------------------------------
640 void setDataTypeSubType( const std::string & rsSubType );
641 //-----------------------------------------------------------------------
654 void setDataTypeSubTypeClassID( unsigned long ulSubTypeClassID );
655 //-----------------------------------------------------------------------
669 std::string getClassAttributeName() const;
670 //-----------------------------------------------------------------------
684 std::string getTableFieldName() const;
685 //-----------------------------------------------------------------------
695 std::string getTableName() const;
696 //-----------------------------------------------------------------------
706 std::string getFieldName() const;
707 //-----------------------------------------------------------------------
717 int getFieldPos() const;
718 //-----------------------------------------------------------------------
728 std::string getFieldPosAsString() const;
729 //-----------------------------------------------------------------------
740 //-----------------------------------------------------------------------
751 //-----------------------------------------------------------------------
762 std::string getDataTypeSubType() const;
763 //-----------------------------------------------------------------------
774 unsigned long getDataTypeSubTypeClassID() const;
775 //-----------------------------------------------------------------------
786 std::string getDataTypeInfo() const;
787 //-----------------------------------------------------------------------
797 bool isNum() const;
798 //-----------------------------------------------------------------------
810 //-----------------------------------------------------------------------
823 std::string getTypeAsCppString() const;
824 //-----------------------------------------------------------------------
839 std::string getTypeAsString() const;
840 //-----------------------------------------------------------------------
851 //-----------------------------------------------------------------------
875 std::string formatAnIndexString( const std::string & rsStringToBeFormatted,
876 const std::vector< eut::LanguageFunctions::EnLanguageKey > & rLanguageKeys,
877 bool bCaseSensitive,
878 void * pIndexAttributeItem ) const;
879 //-----------------------------------------------------------------------
909 std::string formatAnSearchIndexString( const std::string & rsStringToBeFormatted,
910 const std::vector< eut::LanguageFunctions::EnLanguageKey > & rLanguageKeys,
911 bool bCaseSensitive,
912 void * pIndexAttributeItem ) const;
913 //-----------------------------------------------------------------------
914
915 public:
916 //============== Developer Methoden
917 //-----------------------------------------------------------------------
929 void setDeveloperAccessControl( const std::string & rsAccessControl );
930 //-----------------------------------------------------------------------
940 std::string getDeveloperAccessControl() const;
941 //-----------------------------------------------------------------------
942
943 //============== Debug-Methoden
944 //-----------------------------------------------------------------------
945 #ifdef _DEBUG
955 std::string _DEBUG_ToString();
956 #endif
957 //-----------------------------------------------------------------------
958
959 private:
960 //============== Methoden
961 //-----------------------------------------------------------------------
989 std::string formatAnyIndexString( const std::string & rsStringToBeFormatted,
990 const std::vector< eut::LanguageFunctions::EnLanguageKey > & rLanguageKeys,
991 bool bCaseSensitive,
992 bool bIsSearchString,
993 void * pIndexAttributeItem ) const;
994 //-----------------------------------------------------------------------
995 // doxygen -> warning: unable to resolve reference to 'GLO_REF_DEPENDENT' for \ref command
996 // Is a reference to the GlobalObjects documentation.
997 //-----------------------------------------------------------------------
1022 void convertAttributeType( const std::string & rsType,
1023 const std::string & rsTypeInfo );
1024 //-----------------------------------------------------------------------
1025
1026 public:
1027 //============== static Methoden
1028 //-----------------------------------------------------------------------
1054 std::string & rsMin,
1055 std::string & rsMax,
1056 std::string & rsDataFieldSize );
1057 //-----------------------------------------------------------------------
1076 static EnDataType getTypeFromString( const std::string & rsType );
1077 //-----------------------------------------------------------------------
1100 static std::string getTypeAsString( EnDataType eType,
1101 bool bSimple = true );
1102 //-----------------------------------------------------------------------
1126 static std::string getTypeAsCppString( EnDataType eType,
1127 const std::string & rsSubType );
1128 //-----------------------------------------------------------------------
1148 //-----------------------------------------------------------------------
1165 static unsigned int getDataTypesCount();
1166 //-----------------------------------------------------------------------
1185 static bool isNum( EnDataType eDataType );
1186 //-----------------------------------------------------------------------
1206 static int getSignificantCharacter( EnDataType eDataType );
1207 //-----------------------------------------------------------------------
1208
1209 //============== Operatoren
1210 //-----------------------------------------------------------------------
1212
1223 bool operator== ( const ClassInfoAttribute & rT ) const;
1224 bool operator!= ( const ClassInfoAttribute & rT ) const;
1226 //-----------------------------------------------------------------------
1238 ClassInfoAttribute & operator= ( const ClassInfoAttribute & rT );
1239 //-----------------------------------------------------------------------
1240 };
1241 //---------------------------------------------------------------------------
1242 #ifdef _MSC_VER
1243 /* 'Bezeichner': Klasse 'Typ' benötigt eine DLL-Schnittstelle, die von... */
1244 #pragma warning( default : 4251 )
1245 #endif
1246 //---------------------------------------------------------------------------
1247} // namespace glo
1248#endif
Header für LanguageFunctions
Header für ClassInfoItem
Für jede Bibliothek, hier 'GlobalObjects' gibt es eine Typen-Datei.
#define __glo_export_dll
Definition GloTypes.h:63
Diese Klasse spiegelt eine eindeutige ID eines Klasseninformations-Attributes wieder.
Definition GloAttributeID.h:74
Zusammengefasste Typinformationen für ein ClassInfoAttribute.
Definition GloClassInfoAttribute.h:101
EnDataType getType() const
unsigned long m_ulSubTypeClassID
Definition GloClassInfoAttribute.h:156
Type(EnDataType eType, const std::string &rsInfo, const std::string &rsSubType, unsigned long ulSubTypeClassID)
std::string getSubType() const
EnDataType m_eType
Definition GloClassInfoAttribute.h:114
std::string getTypeInfo() const
unsigned long getSubTypeClassID() const
std::string m_sInfo
Definition GloClassInfoAttribute.h:130
std::string m_sSubType
Definition GloClassInfoAttribute.h:143
void setSubType(const std::string &rsSubType)
void setSubTypeClassID(unsigned long ulSubTypeClassID)
void setType(EnDataType eType)
void setTypeInfo(const std::string &rsInfo)
In Objekten dieser Klasse sind die Information für GlobalObjects, wie ein persistentes Klassenattribu...
Definition GloClassInfoAttribute.h:76
unsigned long getDataTypeSubTypeClassID() const
std::string getTypeAsString() const
void setDataTypeInfo(const std::string &rsInfo)
static std::string getTypeAsString(EnDataType eType, bool bSimple=true)
std::string getClassAttributeName() const
ClassInfoAttribute(const std::string &rsName, const std::string &rsTableName, const std::string &rsFieldName, int iFieldPos, const std::string &rsAttributeType, const std::string &rsInfo)
static int getSignificantCharacter(EnDataType eDataType)
std::string getTypeAsCppString() const
std::string getFieldName() const
static std::string getTypeAsCppString(EnDataType eType, const std::string &rsSubType)
std::string getDataTypeSubType() const
std::string m_sTableName
Definition GloClassInfoAttribute.h:395
void setDataTypeSubTypeClassID(unsigned long ulSubTypeClassID)
static EnDataTypeGroup getInfoType(EnDataType eType)
void setDataType(EnDataType eType)
void setFieldPos(int iFieldPos)
void setDeveloperAccessControl(const std::string &rsAccessControl)
std::string getFieldPosAsString() const
std::string getTableName() const
std::string m_sFieldName
Definition GloClassInfoAttribute.h:408
static EnDataType getTypeFromString(const std::string &rsType)
void convertAttributeType(const std::string &rsType, const std::string &rsTypeInfo)
EnDataTypeGroup getInfoType()
static int getRecordAttributeLimits(const ClassInfoAttribute::Type &rDataType, std::string &rsMin, std::string &rsMax, std::string &rsDataFieldSize)
std::string m_sDeveloperAccessControl
Definition GloClassInfoAttribute.h:456
std::string formatAnSearchIndexString(const std::string &rsStringToBeFormatted, const std::vector< eut::LanguageFunctions::EnLanguageKey > &rLanguageKeys, bool bCaseSensitive, void *pIndexAttributeItem) const
int m_iFieldPos
Definition GloClassInfoAttribute.h:421
std::string _DEBUG_ToString()
ClassInfoAttribute::Type m_Type
Definition GloClassInfoAttribute.h:432
int getSignificantCharacter() const
ClassInfoAttribute(const ClassInfoAttribute &rT)
std::string getDataTypeInfo() const
void setDataTypeSubType(const std::string &rsSubType)
void setTableName(const std::string &rsName)
EnDataType getDataType() const
std::string getTableFieldName() const
static bool isNum(EnDataType eDataType)
void setFieldName(const std::string &rsName)
AttributeID getAttributeID() const
std::string formatAnyIndexString(const std::string &rsStringToBeFormatted, const std::vector< eut::LanguageFunctions::EnLanguageKey > &rLanguageKeys, bool bCaseSensitive, bool bIsSearchString, void *pIndexAttributeItem) const
ClassInfoAttribute::Type getType() const
std::string formatAnIndexString(const std::string &rsStringToBeFormatted, const std::vector< eut::LanguageFunctions::EnLanguageKey > &rLanguageKeys, bool bCaseSensitive, void *pIndexAttributeItem) const
std::string getDeveloperAccessControl() const
static unsigned int getDataTypesCount()
Diese Klasse beinhaltet alle Informationen um Objekte einer Klasse in einer Datenbank speichern zu kö...
Definition GloClassInfo.h:79
Basisklasse von ClassInfoAttribute und ClassInfoIndex.
Definition GloClassInfoItem.h:69
Diese Klasse ist die Schnittstelle zu einem GlobalObjects-Schema. Sie beinhaltet alle Klasseninformat...
Definition GloSchemaInterface.h:84
Definition GloAbstractBaseLot.h:42
EnDataTypeGroup
Definition GloRecordAttributeTypes.h:640
EnDataType
Definition GloRecordAttributeTypes.h:547