QxOrm 1.4.9
C++ Object Relational Mapping library
Loading...
Searching...
No Matches

qx::IxDataMember : common interface for all class properties registered into QxOrm context More...

#include <IxDataMember.h>

Inheritance diagram for qx::IxDataMember:
qx::QxPropertyBag qx::QxDataMember< DataType, Owner > qx::QxDataMember_PImpl< DataType, Owner > qx::QxDataMember_PImpl< std::shared_ptr< DataType >, Owner > qx::QxDataMember_PImpl< std::unique_ptr< DataType >, Owner > qx::QxDataMember_QObject

Classes

struct  qxCannotAccessDataPointer
 
struct  qxCannotAccessDataPointer< QString, dummy >
 
struct  qxCannotAccessDataPointer< QVariant, dummy >
 

Public Types

typedef std::function< void(IxDataMemberSqlCallbackParams &)> type_fct_sql_callback
 

Public Member Functions

 IxDataMember (const QString &sKey, long lVersion, bool bSerialize, bool bDao, IxDataMember *pImpl)
 
virtual ~IxDataMember ()=0
 
QString getKey () const
 
QString getName () const
 
int getNameCount () const
 
QString getNameParent () const
 
const char * getNamePtr () const
 
QString getDescription () const
 
QString getFormat () const
 
long getVersion () const
 
bool getSerialize () const
 
bool getDao () const
 
QVariant getDefaultValue () const
 
QVariant getMinValue () const
 
QVariant getMaxValue () const
 
int getPrecision () const
 
int getMinLength () const
 
int getMaxLength () const
 
bool getRequired () const
 
bool getReadOnly () const
 
bool getAutoIncrement () const
 
bool getNotNull () const
 
bool getIsPrimaryKey () const
 
bool getIsIndex () const
 
bool getIsUnique () const
 
IxDataMemberXgetParent () const
 
IxSqlRelationgetSqlRelation () const
 
bool hasSqlRelation () const
 
bool getAccessDataPointer () const
 
virtual QString getType () const
 
QString getTypeParent () const
 
IxDataMembergetPImpl () const
 
void setName (const QString &s)
 
void setNameParent (const QString &s)
 
void setDescription (const QString &s)
 
void setFormat (const QString &s)
 
void setSqlType (const QString &s)
 
void setSqlAlias (const QString &s)
 
void setVersion (long l)
 
void setSerialize (bool b)
 
void setDao (bool b)
 
void setDefaultValue (const QVariant &v)
 
void setPrecision (int i)
 
void setRequired (bool b)
 
void setReadOnly (bool b)
 
void setAutoIncrement (bool b)
 
void setIsPrimaryKey (bool b)
 
void setIsIndex (bool b)
 
void setIsUnique (bool b)
 
void setParent (IxDataMemberX *p)
 
void setSqlRelation (IxSqlRelation *p)
 
void setAccessDataPointer (bool b)
 
void setMinValue (long lMinValue, const QString &sMessage=QString())
 
void setMinValue (double dMinValue, const QString &sMessage=QString())
 
void setMaxValue (long lMaxValue, const QString &sMessage=QString())
 
void setMaxValue (double dMaxValue, const QString &sMessage=QString())
 
void setMinLength (int iMinLength, const QString &sMessage=QString())
 
void setMaxLength (int iMaxLength, const QString &sMessage=QString())
 
void setNotNull (bool bNotNull, const QString &sMessage=QString())
 
bool isThereRelationPartOfPrimaryKey (int iIndexNamePK, IxSqlRelation *&pRelation, int &iIndexNameFK) const
 
bool isPartOfPrimaryKey (int iIndexNameFK, IxDataMember *&pPrimaryKey, int &iIndexNamePK) const
 
void setRelationPartOfPrimaryKey (int iIndexNamePK, IxSqlRelation *pRelation, int iIndexNameFK)
 
void setPartOfPrimaryKey (int iIndexNameFK, IxDataMember *pPrimaryKey, int iIndexNamePK)
 
QString getName (int iIndex, const QString &sOtherName=QString()) const
 
QString getSqlAlias (const QString &sTable=QString(), bool bClauseWhere=false, int iIndexName=0, qx::IxSqlQueryBuilder *pSqlQueryBuilder=NULL) const
 
QString getSqlType (int iIndexName=-1) const
 
QString getSqlTypeAndParams (int iIndexName=-1) const
 
QString getSqlPlaceHolder (const QString &sAppend=QString(), int iIndexName=0, const QString &sSep=QString(", "), const QString &sOtherName=QString(), bool bCheckFKPartOfPK=false) const
 
void setSqlPlaceHolder (QSqlQuery &query, void *pOwner, const QString &sAppend=QString(), const QString &sOtherName=QString(), bool bCheckFKPartOfPK=false, qx::QxCollection< QString, QVariantList > *pLstExecBatch=NULL) const
 
QString getSqlAliasEqualToPlaceHolder (const QString &sTable=QString(), bool bClauseWhere=false, const QString &sAppend=QString(), const QString &sSep=QString(" AND "), bool bCheckFKPartOfPK=false, qx::IxSqlQueryBuilder *pSqlQueryBuilder=NULL) const
 
QString getSqlNameEqualToPlaceHolder (const QString &sAppend=QString(), const QString &sSep=QString(" AND "), bool bCheckFKPartOfPK=false, qx::IxSqlQueryBuilder *pSqlQueryBuilder=NULL) const
 
QString getSqlTablePointNameAsAlias (const QString &sTable, const QString &sSep=QString(", "), const QString &sSuffixAlias=QString(), bool bCheckFKPartOfPK=false, const QString &sCustomAlias=QString(), qx::IxSqlQueryBuilder *pSqlQueryBuilder=NULL) const
 
QString getSqlName (const QString &sSep=QString(", "), const QString &sOtherName=QString(), bool bCheckFKPartOfPK=false, qx::IxSqlQueryBuilder *pSqlQueryBuilder=NULL) const
 
QString getSqlNameAndTypeAndParams (const QString &sSep=QString(", "), const QString &sOtherName=QString(), bool bCheckFKPartOfPK=false) const
 
void customGetSqlName (type_fct_sql_callback fct)
 
void customGetSqlTablePointNameAsAlias (type_fct_sql_callback fct)
 
void customGetSqlNameEqualToPlaceHolder (type_fct_sql_callback fct)
 
void customGetSqlAliasEqualToPlaceHolder (type_fct_sql_callback fct)
 
void customGetSqlAlias (type_fct_sql_callback fct)
 
virtual bool isEqual (const void *pOwner1, const void *pOwner2) const =0
 
virtual QVariant toVariant (const void *pOwner, const QString &sFormat, int iIndexName=-1, qx::cvt::context::ctx_type ctx=qx::cvt::context::e_no_context) const =0
 
virtual qx_bool fromVariant (void *pOwner, const QVariant &v, const QString &sFormat, int iIndexName=-1, qx::cvt::context::ctx_type ctx=qx::cvt::context::e_no_context)=0
 
QVariant toVariant (const void *pOwner, int iIndexName=-1, qx::cvt::context::ctx_type ctx=qx::cvt::context::e_no_context) const
 
qx_bool fromVariant (void *pOwner, const QVariant &v, int iIndexName=-1, qx::cvt::context::ctx_type ctx=qx::cvt::context::e_no_context)
 
virtual QJsonValue toJson (const void *pOwner, const QString &sFormat) const =0
 
virtual qx_bool fromJson (void *pOwner, const QJsonValue &j, const QString &sFormat)=0
 
QJsonValue toJson (const void *pOwner) const
 
qx_bool fromJson (void *pOwner, const QJsonValue &j)
 
qx::any getValueAnyPtr (const void *pOwner) const
 
qx::any getValueAnyPtr (void *pOwner)
 
void * getValueVoidPtr (const void *pOwner) const
 
void * getValueVoidPtr (void *pOwner)
 
template<typename T >
T * getValuePtr (void *pOwner, bool *bOk=NULL)
 
template<typename T >
getValue (void *pOwner, bool *bOk=NULL)
 
template<typename T >
bool setValue (void *pOwner, const T &val)
 
- Public Member Functions inherited from qx::QxPropertyBag
 QxPropertyBag ()
 
virtual ~QxPropertyBag ()
 
void setPropertyBag (const QString &key, const QVariant &value)
 
QVariant getPropertyBag (const QString &key) const
 
void removePropertyBag (const QString &key)
 
void clearPropertyBag ()
 
long countPropertyBag () const
 
QList< QString > getAllPropertyBagKeys () const
 

Static Public Member Functions

static QString getSqlFromTable (const QString &sTable, const QString &sCustomAlias=QString())
 
static QString getSqlTableName (const QString &sTable)
 
static QString getSqlColumnName (const QString &sColumn)
 
static QString getSqlTableNameAlias (const QString &sTable)
 
static QString getSqlColumnNameAlias (const QString &sColumn)
 

Protected Member Functions

virtual qx::any getDataPtr (const void *pOwner) const =0
 
virtual qx::any getDataPtr (void *pOwner)=0
 
virtual void * getDataVoidPtr (const void *pOwner) const =0
 
virtual void * getDataVoidPtr (void *pOwner)=0
 

Private Member Functions

template<class Archive >
void serialize (Archive &ar, const unsigned int version)
 

Private Attributes

std::unique_ptr< IxDataMemberImpl > m_pImpl
 Private implementation idiom.
 

Friends

template<typename DataType , class Owner >
class QxDataMember
 

Additional Inherited Members

- Protected Types inherited from qx::QxPropertyBag
typedef QHash< QString, QVariant > type_hash_prop_bag
 
typedef std::shared_ptr< type_hash_prop_bagtype_hash_prop_bag_ptr
 
- Protected Attributes inherited from qx::QxPropertyBag
type_hash_prop_bag_ptr m_lstPropertyBag
 List of all properties in the bag (meta-data)
 

Detailed Description

qx::IxDataMember : common interface for all class properties registered into QxOrm context

Definition at line 94 of file IxDataMember.h.

Member Typedef Documentation

◆ type_fct_sql_callback

Definition at line 102 of file IxDataMember.h.

Constructor & Destructor Documentation

◆ IxDataMember()

qx::IxDataMember::IxDataMember ( const QString & sKey,
long lVersion,
bool bSerialize,
bool bDao,
IxDataMember * pImpl )

◆ ~IxDataMember()

virtual qx::IxDataMember::~IxDataMember ( )
pure virtual

Member Function Documentation

◆ customGetSqlAlias()

void qx::IxDataMember::customGetSqlAlias ( type_fct_sql_callback fct)

◆ customGetSqlAliasEqualToPlaceHolder()

void qx::IxDataMember::customGetSqlAliasEqualToPlaceHolder ( type_fct_sql_callback fct)

◆ customGetSqlName()

void qx::IxDataMember::customGetSqlName ( type_fct_sql_callback fct)

◆ customGetSqlNameEqualToPlaceHolder()

void qx::IxDataMember::customGetSqlNameEqualToPlaceHolder ( type_fct_sql_callback fct)

◆ customGetSqlTablePointNameAsAlias()

void qx::IxDataMember::customGetSqlTablePointNameAsAlias ( type_fct_sql_callback fct)

◆ fromJson() [1/2]

qx_bool qx::IxDataMember::fromJson ( void * pOwner,
const QJsonValue & j )

◆ fromJson() [2/2]

◆ fromVariant() [1/2]

◆ fromVariant() [2/2]

qx_bool qx::IxDataMember::fromVariant ( void * pOwner,
const QVariant & v,
int iIndexName = -1,
qx::cvt::context::ctx_type ctx = qx::cvt::context::e_no_context )

◆ getAccessDataPointer()

bool qx::IxDataMember::getAccessDataPointer ( ) const

◆ getAutoIncrement()

bool qx::IxDataMember::getAutoIncrement ( ) const

◆ getDao()

bool qx::IxDataMember::getDao ( ) const

◆ getDataPtr() [1/2]

◆ getDataPtr() [2/2]

◆ getDataVoidPtr() [1/2]

◆ getDataVoidPtr() [2/2]

◆ getDefaultValue()

QVariant qx::IxDataMember::getDefaultValue ( ) const

◆ getDescription()

QString qx::IxDataMember::getDescription ( ) const

◆ getFormat()

QString qx::IxDataMember::getFormat ( ) const

◆ getIsIndex()

bool qx::IxDataMember::getIsIndex ( ) const

◆ getIsPrimaryKey()

bool qx::IxDataMember::getIsPrimaryKey ( ) const

◆ getIsUnique()

bool qx::IxDataMember::getIsUnique ( ) const

◆ getKey()

QString qx::IxDataMember::getKey ( ) const

◆ getMaxLength()

int qx::IxDataMember::getMaxLength ( ) const

◆ getMaxValue()

QVariant qx::IxDataMember::getMaxValue ( ) const

◆ getMinLength()

int qx::IxDataMember::getMinLength ( ) const

◆ getMinValue()

QVariant qx::IxDataMember::getMinValue ( ) const

◆ getName() [1/2]

QString qx::IxDataMember::getName ( ) const

◆ getName() [2/2]

QString qx::IxDataMember::getName ( int iIndex,
const QString & sOtherName = QString() ) const

◆ getNameCount()

int qx::IxDataMember::getNameCount ( ) const

◆ getNameParent()

QString qx::IxDataMember::getNameParent ( ) const

◆ getNamePtr()

const char * qx::IxDataMember::getNamePtr ( ) const

◆ getNotNull()

bool qx::IxDataMember::getNotNull ( ) const

◆ getParent()

IxDataMemberX * qx::IxDataMember::getParent ( ) const

◆ getPImpl()

IxDataMember * qx::IxDataMember::getPImpl ( ) const

◆ getPrecision()

int qx::IxDataMember::getPrecision ( ) const

◆ getReadOnly()

bool qx::IxDataMember::getReadOnly ( ) const

◆ getRequired()

bool qx::IxDataMember::getRequired ( ) const

◆ getSerialize()

bool qx::IxDataMember::getSerialize ( ) const

◆ getSqlAlias()

QString qx::IxDataMember::getSqlAlias ( const QString & sTable = QString(),
bool bClauseWhere = false,
int iIndexName = 0,
qx::IxSqlQueryBuilder * pSqlQueryBuilder = NULL ) const

◆ getSqlAliasEqualToPlaceHolder()

QString qx::IxDataMember::getSqlAliasEqualToPlaceHolder ( const QString & sTable = QString(),
bool bClauseWhere = false,
const QString & sAppend = QString(),
const QString & sSep = QString(" AND "),
bool bCheckFKPartOfPK = false,
qx::IxSqlQueryBuilder * pSqlQueryBuilder = NULL ) const

◆ getSqlColumnName()

static QString qx::IxDataMember::getSqlColumnName ( const QString & sColumn)
static

◆ getSqlColumnNameAlias()

static QString qx::IxDataMember::getSqlColumnNameAlias ( const QString & sColumn)
static

◆ getSqlFromTable()

static QString qx::IxDataMember::getSqlFromTable ( const QString & sTable,
const QString & sCustomAlias = QString() )
static

◆ getSqlName()

QString qx::IxDataMember::getSqlName ( const QString & sSep = QString(", "),
const QString & sOtherName = QString(),
bool bCheckFKPartOfPK = false,
qx::IxSqlQueryBuilder * pSqlQueryBuilder = NULL ) const

◆ getSqlNameAndTypeAndParams()

QString qx::IxDataMember::getSqlNameAndTypeAndParams ( const QString & sSep = QString(", "),
const QString & sOtherName = QString(),
bool bCheckFKPartOfPK = false ) const

◆ getSqlNameEqualToPlaceHolder()

QString qx::IxDataMember::getSqlNameEqualToPlaceHolder ( const QString & sAppend = QString(),
const QString & sSep = QString(" AND "),
bool bCheckFKPartOfPK = false,
qx::IxSqlQueryBuilder * pSqlQueryBuilder = NULL ) const

◆ getSqlPlaceHolder()

QString qx::IxDataMember::getSqlPlaceHolder ( const QString & sAppend = QString(),
int iIndexName = 0,
const QString & sSep = QString(", "),
const QString & sOtherName = QString(),
bool bCheckFKPartOfPK = false ) const

◆ getSqlRelation()

IxSqlRelation * qx::IxDataMember::getSqlRelation ( ) const

◆ getSqlTableName()

static QString qx::IxDataMember::getSqlTableName ( const QString & sTable)
static

◆ getSqlTableNameAlias()

static QString qx::IxDataMember::getSqlTableNameAlias ( const QString & sTable)
static

◆ getSqlTablePointNameAsAlias()

QString qx::IxDataMember::getSqlTablePointNameAsAlias ( const QString & sTable,
const QString & sSep = QString(", "),
const QString & sSuffixAlias = QString(),
bool bCheckFKPartOfPK = false,
const QString & sCustomAlias = QString(),
qx::IxSqlQueryBuilder * pSqlQueryBuilder = NULL ) const

◆ getSqlType()

QString qx::IxDataMember::getSqlType ( int iIndexName = -1) const

◆ getSqlTypeAndParams()

QString qx::IxDataMember::getSqlTypeAndParams ( int iIndexName = -1) const

◆ getType()

◆ getTypeParent()

QString qx::IxDataMember::getTypeParent ( ) const

◆ getValue()

template<typename T >
T qx::IxDataMember::getValue ( void * pOwner,
bool * bOk = NULL )
inline

Definition at line 244 of file IxDataMember.h.

◆ getValueAnyPtr() [1/2]

qx::any qx::IxDataMember::getValueAnyPtr ( const void * pOwner) const
inline

Definition at line 227 of file IxDataMember.h.

◆ getValueAnyPtr() [2/2]

qx::any qx::IxDataMember::getValueAnyPtr ( void * pOwner)
inline

Definition at line 228 of file IxDataMember.h.

◆ getValuePtr()

template<typename T >
T * qx::IxDataMember::getValuePtr ( void * pOwner,
bool * bOk = NULL )
inline

Definition at line 233 of file IxDataMember.h.

◆ getValueVoidPtr() [1/2]

void * qx::IxDataMember::getValueVoidPtr ( const void * pOwner) const
inline

Definition at line 229 of file IxDataMember.h.

◆ getValueVoidPtr() [2/2]

void * qx::IxDataMember::getValueVoidPtr ( void * pOwner)
inline

Definition at line 230 of file IxDataMember.h.

◆ getVersion()

long qx::IxDataMember::getVersion ( ) const

◆ hasSqlRelation()

bool qx::IxDataMember::hasSqlRelation ( ) const

◆ isEqual()

◆ isPartOfPrimaryKey()

bool qx::IxDataMember::isPartOfPrimaryKey ( int iIndexNameFK,
IxDataMember *& pPrimaryKey,
int & iIndexNamePK ) const

◆ isThereRelationPartOfPrimaryKey()

bool qx::IxDataMember::isThereRelationPartOfPrimaryKey ( int iIndexNamePK,
IxSqlRelation *& pRelation,
int & iIndexNameFK ) const

◆ serialize()

template<class Archive >
void qx::IxDataMember::serialize ( Archive & ar,
const unsigned int version )
private

◆ setAccessDataPointer()

void qx::IxDataMember::setAccessDataPointer ( bool b)

◆ setAutoIncrement()

void qx::IxDataMember::setAutoIncrement ( bool b)

◆ setDao()

void qx::IxDataMember::setDao ( bool b)

◆ setDefaultValue()

void qx::IxDataMember::setDefaultValue ( const QVariant & v)

◆ setDescription()

void qx::IxDataMember::setDescription ( const QString & s)

◆ setFormat()

void qx::IxDataMember::setFormat ( const QString & s)

◆ setIsIndex()

void qx::IxDataMember::setIsIndex ( bool b)

◆ setIsPrimaryKey()

void qx::IxDataMember::setIsPrimaryKey ( bool b)

◆ setIsUnique()

void qx::IxDataMember::setIsUnique ( bool b)

◆ setMaxLength()

void qx::IxDataMember::setMaxLength ( int iMaxLength,
const QString & sMessage = QString() )

◆ setMaxValue() [1/2]

void qx::IxDataMember::setMaxValue ( double dMaxValue,
const QString & sMessage = QString() )

◆ setMaxValue() [2/2]

void qx::IxDataMember::setMaxValue ( long lMaxValue,
const QString & sMessage = QString() )

◆ setMinLength()

void qx::IxDataMember::setMinLength ( int iMinLength,
const QString & sMessage = QString() )

◆ setMinValue() [1/2]

void qx::IxDataMember::setMinValue ( double dMinValue,
const QString & sMessage = QString() )

◆ setMinValue() [2/2]

void qx::IxDataMember::setMinValue ( long lMinValue,
const QString & sMessage = QString() )

◆ setName()

void qx::IxDataMember::setName ( const QString & s)

◆ setNameParent()

void qx::IxDataMember::setNameParent ( const QString & s)

◆ setNotNull()

void qx::IxDataMember::setNotNull ( bool bNotNull,
const QString & sMessage = QString() )

◆ setParent()

void qx::IxDataMember::setParent ( IxDataMemberX * p)

◆ setPartOfPrimaryKey()

void qx::IxDataMember::setPartOfPrimaryKey ( int iIndexNameFK,
IxDataMember * pPrimaryKey,
int iIndexNamePK )

◆ setPrecision()

void qx::IxDataMember::setPrecision ( int i)

◆ setReadOnly()

void qx::IxDataMember::setReadOnly ( bool b)

◆ setRelationPartOfPrimaryKey()

void qx::IxDataMember::setRelationPartOfPrimaryKey ( int iIndexNamePK,
IxSqlRelation * pRelation,
int iIndexNameFK )

◆ setRequired()

void qx::IxDataMember::setRequired ( bool b)

◆ setSerialize()

void qx::IxDataMember::setSerialize ( bool b)

◆ setSqlAlias()

void qx::IxDataMember::setSqlAlias ( const QString & s)

◆ setSqlPlaceHolder()

void qx::IxDataMember::setSqlPlaceHolder ( QSqlQuery & query,
void * pOwner,
const QString & sAppend = QString(),
const QString & sOtherName = QString(),
bool bCheckFKPartOfPK = false,
qx::QxCollection< QString, QVariantList > * pLstExecBatch = NULL ) const

◆ setSqlRelation()

void qx::IxDataMember::setSqlRelation ( IxSqlRelation * p)

◆ setSqlType()

void qx::IxDataMember::setSqlType ( const QString & s)

◆ setValue()

template<typename T >
bool qx::IxDataMember::setValue ( void * pOwner,
const T & val )
inline

Definition at line 252 of file IxDataMember.h.

◆ setVersion()

void qx::IxDataMember::setVersion ( long l)

◆ toJson() [1/2]

QJsonValue qx::IxDataMember::toJson ( const void * pOwner) const

◆ toJson() [2/2]

◆ toVariant() [1/2]

◆ toVariant() [2/2]

QVariant qx::IxDataMember::toVariant ( const void * pOwner,
int iIndexName = -1,
qx::cvt::context::ctx_type ctx = qx::cvt::context::e_no_context ) const

Friends And Related Symbol Documentation

◆ QxDataMember

template<typename DataType , class Owner >
friend class QxDataMember
friend

Definition at line 98 of file IxDataMember.h.

Member Data Documentation

◆ m_pImpl

std::unique_ptr<IxDataMemberImpl> qx::IxDataMember::m_pImpl
private

Private implementation idiom.

Definition at line 107 of file IxDataMember.h.


The documentation for this class was generated from the following file: