![]() |
QxOrm 1.4.9
C++ Object Relational Mapping library
|
qx::QxClass<T> : concrete class of type T registered into QxOrm context (this class is a singleton and is thread-safe) More...
#include <QxClass.h>
Public Types | |
enum | { is_valid_base_class = ((! std::is_same<type_base_class, T>::value) && (std::is_base_of<type_base_class, T>::value || std::is_same<type_base_class, qx::trait::no_base_class_defined>::value)) } |
typedef qx::trait::get_primary_key< T >::type | type_primary_key |
typedef qx::trait::get_base_class< T >::type | type_base_class |
typedef IxFunction::type_any_params | type_any_params |
Public Member Functions | |
QxDataMemberX< T > * | dataMemberX () const |
IxFunctionX * | fctMemberX () const |
IxFunctionX * | fctStaticX () const |
IxDataMember * | id (type_primary_key T::*pDataMemberId, const QString &sKey, long lVersion=0) |
IxDataMember * | id (const QString &sKey, long lVersion) |
IxDataMember * | data (const QString &sKey, long lVersion) |
template<typename V , typename U > | |
IxDataMember * | data (V U::*pData, const QString &sKey, long lVersion=0, bool bSerialize=true, bool bDao=true) |
template<typename V , typename U > | |
IxSqlRelation * | relationOneToOne (V U::*pData, const QString &sKey, long lVersion=0) |
template<typename V , typename U > | |
IxSqlRelation * | relationManyToOne (V U::*pData, const QString &sKey, long lVersion=0) |
template<typename V , typename U > | |
IxSqlRelation * | relationOneToMany (V U::*pData, const QString &sKey, const QString &sForeignKey, long lVersion=0) |
template<typename V , typename U > | |
IxSqlRelation * | relationManyToMany (V U::*pData, const QString &sKey, const QString &sExtraTable, const QString &sForeignKeyOwner, const QString &sForeignKeyDataType, long lVersion=0) |
template<typename V , typename U > | |
IxDataMember * | pimpl (V U::*pData, const QString &sKey=QString("_PIMPL_")) |
template<typename U > | |
IxDataMember * | id (type_primary_key U::*pDataMemberId, const QString &sKey, long lVersion, IxDataMember *pImpl) |
template<typename V , typename U > | |
IxDataMember * | data (V U::*pData, const QString &sKey, long lVersion, bool bSerialize, bool bDao, IxDataMember *pImpl) |
template<typename V , typename U > | |
IxSqlRelation * | relationOneToOne (V U::*pData, const QString &sKey, long lVersion, IxDataMember *pImpl) |
template<typename V , typename U > | |
IxSqlRelation * | relationManyToOne (V U::*pData, const QString &sKey, long lVersion, IxDataMember *pImpl) |
template<typename V , typename U > | |
IxSqlRelation * | relationOneToMany (V U::*pData, const QString &sKey, const QString &sForeignKey, long lVersion, IxDataMember *pImpl) |
template<typename V , typename U > | |
IxSqlRelation * | relationManyToMany (V U::*pData, const QString &sKey, const QString &sExtraTable, const QString &sForeignKeyOwner, const QString &sForeignKeyDataType, long lVersion, IxDataMember *pImpl) |
template<typename R > | |
IxFunction * | fct_0 (const typename QxFunction_0< T, R >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 > | |
IxFunction * | fct_1 (const typename QxFunction_1< T, R, P1 >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 , typename P2 > | |
IxFunction * | fct_2 (const typename QxFunction_2< T, R, P1, P2 >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 , typename P2 , typename P3 > | |
IxFunction * | fct_3 (const typename QxFunction_3< T, R, P1, P2, P3 >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 > | |
IxFunction * | fct_4 (const typename QxFunction_4< T, R, P1, P2, P3, P4 >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 > | |
IxFunction * | fct_5 (const typename QxFunction_5< T, R, P1, P2, P3, P4, P5 >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 > | |
IxFunction * | fct_6 (const typename QxFunction_6< T, R, P1, P2, P3, P4, P5, P6 >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 > | |
IxFunction * | fct_7 (const typename QxFunction_7< T, R, P1, P2, P3, P4, P5, P6, P7 >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 > | |
IxFunction * | fct_8 (const typename QxFunction_8< T, R, P1, P2, P3, P4, P5, P6, P7, P8 >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 > | |
IxFunction * | fct_9 (const typename QxFunction_9< T, R, P1, P2, P3, P4, P5, P6, P7, P8, P9 >::type_fct &fct, const QString &sKey) |
template<typename R > | |
IxFunction * | fctStatic_0 (const typename QxFunction_0< void, R >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 > | |
IxFunction * | fctStatic_1 (const typename QxFunction_1< void, R, P1 >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 , typename P2 > | |
IxFunction * | fctStatic_2 (const typename QxFunction_2< void, R, P1, P2 >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 , typename P2 , typename P3 > | |
IxFunction * | fctStatic_3 (const typename QxFunction_3< void, R, P1, P2, P3 >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 > | |
IxFunction * | fctStatic_4 (const typename QxFunction_4< void, R, P1, P2, P3, P4 >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 > | |
IxFunction * | fctStatic_5 (const typename QxFunction_5< void, R, P1, P2, P3, P4, P5 >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 > | |
IxFunction * | fctStatic_6 (const typename QxFunction_6< void, R, P1, P2, P3, P4, P5, P6 >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 > | |
IxFunction * | fctStatic_7 (const typename QxFunction_7< void, R, P1, P2, P3, P4, P5, P6, P7 >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 > | |
IxFunction * | fctStatic_8 (const typename QxFunction_8< void, R, P1, P2, P3, P4, P5, P6, P7, P8 >::type_fct &fct, const QString &sKey) |
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 > | |
IxFunction * | fctStatic_9 (const typename QxFunction_9< void, R, P1, P2, P3, P4, P5, P6, P7, P8, P9 >::type_fct &fct, const QString &sKey) |
virtual bool | isAbstract () const |
virtual bool | implementIxPersistable () const |
virtual const std::type_info & | typeInfo () const |
virtual IxClass * | getBaseClass () const |
virtual IxValidatorX * | getAllValidator () |
![]() | |
QString | getKey () const |
QString | getName () const |
const char * | getNamePtr () const |
QString | getDescription () const |
long | getVersion () const |
qx::dao::strategy::inheritance | getDaoStrategy () const |
qx::QxSoftDelete | getSoftDelete () const |
bool | isFinalClass () const |
bool | isDaoReadOnly () const |
bool | isRegistered () const |
IxDataMemberX * | getDataMemberX () const |
IxFunctionX * | getFctMemberX () const |
IxFunctionX * | getFctStaticX () const |
std::shared_ptr< QxCollection< QString, IxSqlRelation * > > | getSqlRelationX () |
std::shared_ptr< QxCollection< QString, IxDataMember * > > | getSqlDataMemberX () |
void | setKey (const QString &s) |
void | setName (const QString &s) |
void | setDescription (const QString &s) |
void | setDaoStrategy (qx::dao::strategy::inheritance e) |
void | setSoftDelete (const qx::QxSoftDelete &o) |
void | setDaoReadOnly (bool b) |
void | setVersion (long l) |
IxDataMember * | getId (bool bRecursive=false) const |
bool | isKindOf (const QString &sClassName) const |
QString | dumpClass () const |
bool | isKindOf (const std::type_info &typeInfo) const |
![]() | |
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 qx_bool | invoke (const QString &sKey, T *pOwner, const QString ¶ms=QString(), qx::any *ret=NULL) |
static qx_bool | invoke (const QString &sKey, T *pOwner, const type_any_params ¶ms, qx::any *ret=NULL) |
static qx_bool | invokeStatic (const QString &sKey, const QString ¶ms=QString(), qx::any *ret=NULL) |
static qx_bool | invokeStatic (const QString &sKey, const type_any_params ¶ms, qx::any *ret=NULL) |
![]() | |
static T * | getSingleton () |
static void | deleteSingleton () |
Protected Member Functions | |
QxClass () | |
virtual | ~QxClass () |
![]() | |
IxClass () | |
virtual | ~IxClass ()=0 |
void | updateClassX () |
void | setRegistered (bool b) |
void | setFinalClass (bool b) |
void | setDataMemberX (IxDataMemberX *p) |
void | setFctMemberX (IxFunctionX *p) |
void | setFctStaticX (IxFunctionX *p) |
IxValidatorX_ptr & | getAllValidatorRef () |
![]() | |
QxSingleton (const QString &sKey) | |
virtual | ~QxSingleton () |
virtual void | deleteInstance () |
![]() | |
IxSingleton (const QString &sKey) | |
virtual | ~IxSingleton () |
Protected Attributes | |
QMutex | m_oMutexClass |
Mutex -> 'QxClass' is thread-safe. | |
![]() | |
type_hash_prop_bag_ptr | m_lstPropertyBag |
List of all properties in the bag (meta-data) | |
![]() | |
QString | m_sKeySingleton |
Singleton key used by 'QxSingletonX' container. | |
Private Member Functions | |
void | init () |
IxFunction * | insertFct (IxFunction_ptr pFct, const QString &sKey) |
IxFunction * | insertFctStatic (IxFunction_ptr pFct, const QString &sKey) |
void | registerClass () |
void | beforeRegisterClass () |
Friends | |
class | QxSingleton< QxClass< T > > |
Additional Inherited Members | |
![]() | |
typedef QHash< QString, QVariant > | type_hash_prop_bag |
typedef std::shared_ptr< type_hash_prop_bag > | type_hash_prop_bag_ptr |
![]() | |
static bool | isSingletonNull () |
![]() | |
static void | initQxSingletonX () |
qx::QxClass<T> : concrete class of type T registered into QxOrm context (this class is a singleton and is thread-safe)
typedef IxFunction::type_any_params qx::QxClass< T >::type_any_params |
typedef qx::trait::get_base_class<T>::type qx::QxClass< T >::type_base_class |
typedef qx::trait::get_primary_key<T>::type qx::QxClass< T >::type_primary_key |
anonymous enum |
|
inlineprotected |
|
inlineprotectedvirtual |
|
inlineprivate |
IxDataMember * qx::QxClass< T >::data | ( | const QString & | sKey, |
long | lVersion ) |
IxDataMember * qx::QxClass< T >::data | ( | V U::* | pData, |
const QString & | sKey, | ||
long | lVersion, | ||
bool | bSerialize, | ||
bool | bDao, | ||
IxDataMember * | pImpl ) |
IxDataMember * qx::QxClass< T >::data | ( | V U::* | pData, |
const QString & | sKey, | ||
long | lVersion = 0, | ||
bool | bSerialize = true, | ||
bool | bDao = true ) |
|
inline |
IxFunction * qx::QxClass< T >::fct_0 | ( | const typename QxFunction_0< T, R >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fct_1 | ( | const typename QxFunction_1< T, R, P1 >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fct_2 | ( | const typename QxFunction_2< T, R, P1, P2 >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fct_3 | ( | const typename QxFunction_3< T, R, P1, P2, P3 >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fct_4 | ( | const typename QxFunction_4< T, R, P1, P2, P3, P4 >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fct_5 | ( | const typename QxFunction_5< T, R, P1, P2, P3, P4, P5 >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fct_6 | ( | const typename QxFunction_6< T, R, P1, P2, P3, P4, P5, P6 >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fct_7 | ( | const typename QxFunction_7< T, R, P1, P2, P3, P4, P5, P6, P7 >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fct_8 | ( | const typename QxFunction_8< T, R, P1, P2, P3, P4, P5, P6, P7, P8 >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fct_9 | ( | const typename QxFunction_9< T, R, P1, P2, P3, P4, P5, P6, P7, P8, P9 >::type_fct & | fct, |
const QString & | sKey ) |
|
inline |
IxFunction * qx::QxClass< T >::fctStatic_0 | ( | const typename QxFunction_0< void, R >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fctStatic_1 | ( | const typename QxFunction_1< void, R, P1 >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fctStatic_2 | ( | const typename QxFunction_2< void, R, P1, P2 >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fctStatic_3 | ( | const typename QxFunction_3< void, R, P1, P2, P3 >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fctStatic_4 | ( | const typename QxFunction_4< void, R, P1, P2, P3, P4 >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fctStatic_5 | ( | const typename QxFunction_5< void, R, P1, P2, P3, P4, P5 >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fctStatic_6 | ( | const typename QxFunction_6< void, R, P1, P2, P3, P4, P5, P6 >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fctStatic_7 | ( | const typename QxFunction_7< void, R, P1, P2, P3, P4, P5, P6, P7 >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fctStatic_8 | ( | const typename QxFunction_8< void, R, P1, P2, P3, P4, P5, P6, P7, P8 >::type_fct & | fct, |
const QString & | sKey ) |
IxFunction * qx::QxClass< T >::fctStatic_9 | ( | const typename QxFunction_9< void, R, P1, P2, P3, P4, P5, P6, P7, P8, P9 >::type_fct & | fct, |
const QString & | sKey ) |
|
inline |
|
inlinevirtual |
Reimplemented from qx::IxClass.
|
inlinevirtual |
Implements qx::IxClass.
IxDataMember * qx::QxClass< T >::id | ( | const QString & | sKey, |
long | lVersion ) |
IxDataMember * qx::QxClass< T >::id | ( | type_primary_key T::* | pDataMemberId, |
const QString & | sKey, | ||
long | lVersion = 0 ) |
IxDataMember * qx::QxClass< T >::id | ( | type_primary_key U::* | pDataMemberId, |
const QString & | sKey, | ||
long | lVersion, | ||
IxDataMember * | pImpl ) |
|
inlinevirtual |
Implements qx::IxClass.
|
private |
|
private |
|
private |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinestatic |
|
inlinevirtual |
Implements qx::IxClass.
IxDataMember * qx::QxClass< T >::pimpl | ( | V U::* | pData, |
const QString & | sKey = QString("_PIMPL_") ) |
|
inlineprivate |
IxSqlRelation * qx::QxClass< T >::relationManyToMany | ( | V U::* | pData, |
const QString & | sKey, | ||
const QString & | sExtraTable, | ||
const QString & | sForeignKeyOwner, | ||
const QString & | sForeignKeyDataType, | ||
long | lVersion, | ||
IxDataMember * | pImpl ) |
IxSqlRelation * qx::QxClass< T >::relationManyToMany | ( | V U::* | pData, |
const QString & | sKey, | ||
const QString & | sExtraTable, | ||
const QString & | sForeignKeyOwner, | ||
const QString & | sForeignKeyDataType, | ||
long | lVersion = 0 ) |
IxSqlRelation * qx::QxClass< T >::relationManyToOne | ( | V U::* | pData, |
const QString & | sKey, | ||
long | lVersion, | ||
IxDataMember * | pImpl ) |
IxSqlRelation * qx::QxClass< T >::relationManyToOne | ( | V U::* | pData, |
const QString & | sKey, | ||
long | lVersion = 0 ) |
IxSqlRelation * qx::QxClass< T >::relationOneToMany | ( | V U::* | pData, |
const QString & | sKey, | ||
const QString & | sForeignKey, | ||
long | lVersion, | ||
IxDataMember * | pImpl ) |
IxSqlRelation * qx::QxClass< T >::relationOneToMany | ( | V U::* | pData, |
const QString & | sKey, | ||
const QString & | sForeignKey, | ||
long | lVersion = 0 ) |
IxSqlRelation * qx::QxClass< T >::relationOneToOne | ( | V U::* | pData, |
const QString & | sKey, | ||
long | lVersion, | ||
IxDataMember * | pImpl ) |
IxSqlRelation * qx::QxClass< T >::relationOneToOne | ( | V U::* | pData, |
const QString & | sKey, | ||
long | lVersion = 0 ) |
|
inlinevirtual |
Implements qx::IxClass.
|
friend |
|
protected |