QxOrm  1.5.0
C++ Object Relational Mapping library

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

List of all members.

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)

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.

Static Private Attributes

static QMutex m_mutex
 Mutex => qx::IxDataMember is thread-safe.

Friends

class QxDataMember

Detailed Description

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

Definition at line 95 of file IxDataMember.h.


Member Typedef Documentation

Definition at line 103 of file IxDataMember.h.


Constructor & Destructor Documentation

qx::IxDataMember::IxDataMember ( const QString &  sKey,
long  lVersion,
bool  bSerialize,
bool  bDao,
IxDataMember pImpl 
)
virtual qx::IxDataMember::~IxDataMember ( ) [pure virtual]

Member Function Documentation

void qx::IxDataMember::customGetSqlAlias ( type_fct_sql_callback  fct)
void qx::IxDataMember::customGetSqlAliasEqualToPlaceHolder ( type_fct_sql_callback  fct)
void qx::IxDataMember::customGetSqlName ( type_fct_sql_callback  fct)
void qx::IxDataMember::customGetSqlNameEqualToPlaceHolder ( type_fct_sql_callback  fct)
void qx::IxDataMember::customGetSqlTablePointNameAsAlias ( type_fct_sql_callback  fct)
virtual qx_bool qx::IxDataMember::fromJson ( void *  pOwner,
const QJsonValue &  j,
const QString &  sFormat 
) [pure virtual]
qx_bool qx::IxDataMember::fromJson ( void *  pOwner,
const QJsonValue &  j 
)
virtual qx_bool qx::IxDataMember::fromVariant ( void *  pOwner,
const QVariant &  v,
const QString &  sFormat,
int  iIndexName = -1,
qx::cvt::context::ctx_type  ctx = qx::cvt::context::e_no_context 
) [pure virtual]
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 
)
bool qx::IxDataMember::getAccessDataPointer ( ) const
bool qx::IxDataMember::getAutoIncrement ( ) const
bool qx::IxDataMember::getDao ( ) const
QVariant qx::IxDataMember::getDefaultValue ( ) const
QString qx::IxDataMember::getDescription ( ) const
QString qx::IxDataMember::getFormat ( ) const
bool qx::IxDataMember::getIsIndex ( ) const
bool qx::IxDataMember::getIsPrimaryKey ( ) const
bool qx::IxDataMember::getIsUnique ( ) const
QString qx::IxDataMember::getKey ( ) const
int qx::IxDataMember::getMaxLength ( ) const
QVariant qx::IxDataMember::getMaxValue ( ) const
int qx::IxDataMember::getMinLength ( ) const
QVariant qx::IxDataMember::getMinValue ( ) const
QString qx::IxDataMember::getName ( ) const
QString qx::IxDataMember::getName ( int  iIndex,
const QString &  sOtherName = QString() 
) const
int qx::IxDataMember::getNameCount ( ) const
QString qx::IxDataMember::getNameParent ( ) const
const char* qx::IxDataMember::getNamePtr ( ) const
bool qx::IxDataMember::getNotNull ( ) const
IxDataMemberX* qx::IxDataMember::getParent ( ) const
IxDataMember* qx::IxDataMember::getPImpl ( ) const
int qx::IxDataMember::getPrecision ( ) const
bool qx::IxDataMember::getReadOnly ( ) const
bool qx::IxDataMember::getRequired ( ) const
bool qx::IxDataMember::getSerialize ( ) const
QString qx::IxDataMember::getSqlAlias ( const QString &  sTable = QString(),
bool  bClauseWhere = false,
int  iIndexName = 0,
qx::IxSqlQueryBuilder pSqlQueryBuilder = NULL 
) const
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
static QString qx::IxDataMember::getSqlColumnName ( const QString &  sColumn) [static]
static QString qx::IxDataMember::getSqlColumnNameAlias ( const QString &  sColumn) [static]
static QString qx::IxDataMember::getSqlFromTable ( const QString &  sTable,
const QString &  sCustomAlias = QString() 
) [static]
QString qx::IxDataMember::getSqlName ( const QString &  sSep = QString(", "),
const QString &  sOtherName = QString(),
bool  bCheckFKPartOfPK = false,
qx::IxSqlQueryBuilder pSqlQueryBuilder = NULL 
) const
QString qx::IxDataMember::getSqlNameAndTypeAndParams ( const QString &  sSep = QString(", "),
const QString &  sOtherName = QString(),
bool  bCheckFKPartOfPK = false 
) const
QString qx::IxDataMember::getSqlNameEqualToPlaceHolder ( const QString &  sAppend = QString(),
const QString &  sSep = QString(" AND "),
bool  bCheckFKPartOfPK = false,
qx::IxSqlQueryBuilder pSqlQueryBuilder = NULL 
) const
QString qx::IxDataMember::getSqlPlaceHolder ( const QString &  sAppend = QString(),
int  iIndexName = 0,
const QString &  sSep = QString(", "),
const QString &  sOtherName = QString(),
bool  bCheckFKPartOfPK = false 
) const
IxSqlRelation* qx::IxDataMember::getSqlRelation ( ) const
static QString qx::IxDataMember::getSqlTableName ( const QString &  sTable) [static]
static QString qx::IxDataMember::getSqlTableNameAlias ( const QString &  sTable) [static]
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
QString qx::IxDataMember::getSqlType ( int  iIndexName = -1) const
QString qx::IxDataMember::getSqlTypeAndParams ( int  iIndexName = -1) const
QString qx::IxDataMember::getTypeParent ( ) const
template<typename T >
T qx::IxDataMember::getValue ( void *  pOwner,
bool *  bOk = NULL 
) [inline]

Definition at line 247 of file IxDataMember.h.

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

Definition at line 230 of file IxDataMember.h.

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

Definition at line 231 of file IxDataMember.h.

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

Definition at line 236 of file IxDataMember.h.

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

Definition at line 232 of file IxDataMember.h.

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

Definition at line 233 of file IxDataMember.h.

long qx::IxDataMember::getVersion ( ) const
bool qx::IxDataMember::hasSqlRelation ( ) const
bool qx::IxDataMember::isPartOfPrimaryKey ( int  iIndexNameFK,
IxDataMember *&  pPrimaryKey,
int &  iIndexNamePK 
) const
bool qx::IxDataMember::isThereRelationPartOfPrimaryKey ( int  iIndexNamePK,
IxSqlRelation *&  pRelation,
int &  iIndexNameFK 
) const
template<class Archive >
void qx::IxDataMember::serialize ( Archive &  ar,
const unsigned int  version 
) [private]
void qx::IxDataMember::setAccessDataPointer ( bool  b)
void qx::IxDataMember::setAutoIncrement ( bool  b)
void qx::IxDataMember::setDao ( bool  b)
void qx::IxDataMember::setDefaultValue ( const QVariant &  v)
void qx::IxDataMember::setDescription ( const QString &  s)
void qx::IxDataMember::setFormat ( const QString &  s)
void qx::IxDataMember::setIsIndex ( bool  b)
void qx::IxDataMember::setIsPrimaryKey ( bool  b)
void qx::IxDataMember::setIsUnique ( bool  b)
void qx::IxDataMember::setMaxLength ( int  iMaxLength,
const QString &  sMessage = QString() 
)
void qx::IxDataMember::setMaxValue ( long  lMaxValue,
const QString &  sMessage = QString() 
)
void qx::IxDataMember::setMaxValue ( double  dMaxValue,
const QString &  sMessage = QString() 
)
void qx::IxDataMember::setMinLength ( int  iMinLength,
const QString &  sMessage = QString() 
)
void qx::IxDataMember::setMinValue ( long  lMinValue,
const QString &  sMessage = QString() 
)
void qx::IxDataMember::setMinValue ( double  dMinValue,
const QString &  sMessage = QString() 
)
void qx::IxDataMember::setName ( const QString &  s)
void qx::IxDataMember::setNameParent ( const QString &  s)
void qx::IxDataMember::setNotNull ( bool  bNotNull,
const QString &  sMessage = QString() 
)
void qx::IxDataMember::setParent ( IxDataMemberX p)
void qx::IxDataMember::setPartOfPrimaryKey ( int  iIndexNameFK,
IxDataMember pPrimaryKey,
int  iIndexNamePK 
)
void qx::IxDataMember::setPrecision ( int  i)
void qx::IxDataMember::setReadOnly ( bool  b)
void qx::IxDataMember::setRelationPartOfPrimaryKey ( int  iIndexNamePK,
IxSqlRelation pRelation,
int  iIndexNameFK 
)
void qx::IxDataMember::setRequired ( bool  b)
void qx::IxDataMember::setSerialize ( bool  b)
void qx::IxDataMember::setSqlAlias ( const QString &  s)
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
void qx::IxDataMember::setSqlRelation ( IxSqlRelation p)
void qx::IxDataMember::setSqlType ( const QString &  s)
template<typename T >
bool qx::IxDataMember::setValue ( void *  pOwner,
const T &  val 
) [inline]

Definition at line 255 of file IxDataMember.h.

void qx::IxDataMember::setVersion ( long  l)
virtual QJsonValue qx::IxDataMember::toJson ( const void *  pOwner,
const QString &  sFormat 
) const [pure virtual]
QJsonValue qx::IxDataMember::toJson ( const void *  pOwner) const
virtual QVariant qx::IxDataMember::toVariant ( const void *  pOwner,
const QString &  sFormat,
int  iIndexName = -1,
qx::cvt::context::ctx_type  ctx = qx::cvt::context::e_no_context 
) const [pure virtual]
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 Function Documentation

friend class QxDataMember [friend]

Definition at line 99 of file IxDataMember.h.


Member Data Documentation

QMutex qx::IxDataMember::m_mutex [static, private]

Mutex => qx::IxDataMember is thread-safe.

Definition at line 110 of file IxDataMember.h.

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: