QxOrm  1.5.0
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>

Inheritance diagram for qx::QxClass< T >:
qx::IxClass qx::QxSingleton< QxClass< T > > qx::QxPropertyBag qx::IxSingleton

List of all members.

Classes

struct  implementIxPersistable_Helper
struct  implementIxPersistable_Helper< QObject, dummy >
struct  implementIxPersistable_Helper< qx::trait::no_base_class_defined, dummy >
struct  invokeHelper
struct  invokeHelper< QObject, qx::trait::no_base_class_defined, dummy >
struct  invokeHelper< qx::trait::no_base_class_defined, qx::trait::no_base_class_defined, dummy >
struct  invokeHelper< U, qx::trait::no_base_class_defined, dummy >

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
IxFunctionXfctMemberX () const
IxFunctionXfctStaticX () const
IxDataMemberid (type_primary_key T::*pDataMemberId, const QString &sKey, long lVersion=0)
IxDataMemberid (const QString &sKey, long lVersion)
IxDataMemberdata (const QString &sKey, long lVersion)
template<typename V , typename U >
IxDataMemberdata (V U::*pData, const QString &sKey, long lVersion=0, bool bSerialize=true, bool bDao=true)
template<typename V , typename U >
IxSqlRelationrelationOneToOne (V U::*pData, const QString &sKey, long lVersion=0)
template<typename V , typename U >
IxSqlRelationrelationManyToOne (V U::*pData, const QString &sKey, long lVersion=0)
template<typename V , typename U >
IxSqlRelationrelationOneToMany (V U::*pData, const QString &sKey, const QString &sForeignKey, long lVersion=0)
template<typename V , typename U >
IxSqlRelationrelationManyToMany (V U::*pData, const QString &sKey, const QString &sExtraTable, const QString &sForeignKeyOwner, const QString &sForeignKeyDataType, long lVersion=0)
template<typename V , typename U >
IxDataMemberpimpl (V U::*pData, const QString &sKey=QString("_PIMPL_"))
template<typename U >
IxDataMemberid (type_primary_key U::*pDataMemberId, const QString &sKey, long lVersion, IxDataMember *pImpl)
template<typename V , typename U >
IxDataMemberdata (V U::*pData, const QString &sKey, long lVersion, bool bSerialize, bool bDao, IxDataMember *pImpl)
template<typename V , typename U >
IxSqlRelationrelationOneToOne (V U::*pData, const QString &sKey, long lVersion, IxDataMember *pImpl)
template<typename V , typename U >
IxSqlRelationrelationManyToOne (V U::*pData, const QString &sKey, long lVersion, IxDataMember *pImpl)
template<typename V , typename U >
IxSqlRelationrelationOneToMany (V U::*pData, const QString &sKey, const QString &sForeignKey, long lVersion, IxDataMember *pImpl)
template<typename V , typename U >
IxSqlRelationrelationManyToMany (V U::*pData, const QString &sKey, const QString &sExtraTable, const QString &sForeignKeyOwner, const QString &sForeignKeyDataType, long lVersion, IxDataMember *pImpl)
template<typename R >
IxFunctionfct_0 (const typename QxFunction_0< T, R >::type_fct &fct, const QString &sKey)
template<typename R , typename P1 >
IxFunctionfct_1 (const typename QxFunction_1< T, R, P1 >::type_fct &fct, const QString &sKey)
template<typename R , typename P1 , typename P2 >
IxFunctionfct_2 (const typename QxFunction_2< T, R, P1, P2 >::type_fct &fct, const QString &sKey)
template<typename R , typename P1 , typename P2 , typename P3 >
IxFunctionfct_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 >
IxFunctionfct_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 >
IxFunctionfct_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 >
IxFunctionfct_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 >
IxFunctionfct_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 >
IxFunctionfct_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 >
IxFunctionfct_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 >
IxFunctionfctStatic_0 (const typename QxFunction_0< void, R >::type_fct &fct, const QString &sKey)
template<typename R , typename P1 >
IxFunctionfctStatic_1 (const typename QxFunction_1< void, R, P1 >::type_fct &fct, const QString &sKey)
template<typename R , typename P1 , typename P2 >
IxFunctionfctStatic_2 (const typename QxFunction_2< void, R, P1, P2 >::type_fct &fct, const QString &sKey)
template<typename R , typename P1 , typename P2 , typename P3 >
IxFunctionfctStatic_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 >
IxFunctionfctStatic_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 >
IxFunctionfctStatic_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 >
IxFunctionfctStatic_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 >
IxFunctionfctStatic_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 >
IxFunctionfctStatic_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 >
IxFunctionfctStatic_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 IxClassgetBaseClass () const
virtual IxValidatorXgetAllValidator ()

Static Public Member Functions

static qx_bool invoke (const QString &sKey, T *pOwner, const QString &params=QString(), qx::any *ret=NULL)
static qx_bool invoke (const QString &sKey, T *pOwner, const type_any_params &params, qx::any *ret=NULL)
static qx_bool invokeStatic (const QString &sKey, const QString &params=QString(), qx::any *ret=NULL)
static qx_bool invokeStatic (const QString &sKey, const type_any_params &params, qx::any *ret=NULL)

Protected Member Functions

 QxClass ()
virtual ~QxClass ()

Protected Attributes

QMutex m_oMutexClass
 Mutex -> 'QxClass' is thread-safe.

Private Member Functions

void init ()
IxFunctioninsertFct (IxFunction_ptr pFct, const QString &sKey)
IxFunctioninsertFctStatic (IxFunction_ptr pFct, const QString &sKey)
void registerClass ()
void beforeRegisterClass ()

Friends

class QxSingleton< QxClass< T > >

Detailed Description

template<class T>
class qx::QxClass< T >

qx::QxClass<T> : concrete class of type T registered into QxOrm context (this class is a singleton and is thread-safe)

Definition at line 78 of file QxClass.h.


Member Typedef Documentation

template<class T>
typedef IxFunction::type_any_params qx::QxClass< T >::type_any_params

Definition at line 87 of file QxClass.h.

template<class T>
typedef qx::trait::get_base_class<T>::type qx::QxClass< T >::type_base_class

Definition at line 86 of file QxClass.h.

template<class T>
typedef qx::trait::get_primary_key<T>::type qx::QxClass< T >::type_primary_key

Definition at line 85 of file QxClass.h.


Member Enumeration Documentation

template<class T>
anonymous enum
Enumerator:
is_valid_base_class 

Definition at line 89 of file QxClass.h.


Constructor & Destructor Documentation

template<class T>
qx::QxClass< T >::QxClass ( ) [inline, protected]

Definition at line 97 of file QxClass.h.

template<class T>
virtual qx::QxClass< T >::~QxClass ( ) [inline, protected, virtual]

Definition at line 98 of file QxClass.h.


Member Function Documentation

template<class T>
void qx::QxClass< T >::beforeRegisterClass ( ) [inline, private]

Definition at line 187 of file QxClass.h.

template<class T>
IxDataMember* qx::QxClass< T >::data ( const QString &  sKey,
long  lVersion 
)
template<class T>
template<typename V , typename U >
IxDataMember* qx::QxClass< T >::data ( V U::*  pData,
const QString &  sKey,
long  lVersion = 0,
bool  bSerialize = true,
bool  bDao = true 
)
template<class T>
template<typename V , typename U >
IxDataMember* qx::QxClass< T >::data ( V U::*  pData,
const QString &  sKey,
long  lVersion,
bool  bSerialize,
bool  bDao,
IxDataMember pImpl 
)
template<class T>
QxDataMemberX<T>* qx::QxClass< T >::dataMemberX ( ) const [inline]

Definition at line 102 of file QxClass.h.

template<class T>
template<typename R >
IxFunction* qx::QxClass< T >::fct_0 ( const typename QxFunction_0< T, R >::type_fct &  fct,
const QString &  sKey 
)
template<class T>
template<typename R , typename P1 >
IxFunction* qx::QxClass< T >::fct_1 ( const typename QxFunction_1< T, R, P1 >::type_fct &  fct,
const QString &  sKey 
)
template<class T>
template<typename R , typename P1 , typename P2 >
IxFunction* qx::QxClass< T >::fct_2 ( const typename QxFunction_2< T, R, P1, P2 >::type_fct &  fct,
const QString &  sKey 
)
template<class T>
template<typename R , typename P1 , typename P2 , typename P3 >
IxFunction* qx::QxClass< T >::fct_3 ( const typename QxFunction_3< T, R, P1, P2, P3 >::type_fct &  fct,
const QString &  sKey 
)
template<class T>
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 >
IxFunction* qx::QxClass< T >::fct_4 ( const typename QxFunction_4< T, R, P1, P2, P3, P4 >::type_fct &  fct,
const QString &  sKey 
)
template<class T>
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 >
IxFunction* qx::QxClass< T >::fct_5 ( const typename QxFunction_5< T, R, P1, P2, P3, P4, P5 >::type_fct &  fct,
const QString &  sKey 
)
template<class T>
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 >
IxFunction* qx::QxClass< T >::fct_6 ( const typename QxFunction_6< T, R, P1, P2, P3, P4, P5, P6 >::type_fct &  fct,
const QString &  sKey 
)
template<class T>
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 >
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 
)
template<class T>
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 >
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 
)
template<class T>
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 >
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 
)
template<class T>
IxFunctionX* qx::QxClass< T >::fctMemberX ( ) const [inline]

Definition at line 103 of file QxClass.h.

template<class T>
template<typename R >
IxFunction* qx::QxClass< T >::fctStatic_0 ( const typename QxFunction_0< void, R >::type_fct &  fct,
const QString &  sKey 
)
template<class T>
template<typename R , typename P1 >
IxFunction* qx::QxClass< T >::fctStatic_1 ( const typename QxFunction_1< void, R, P1 >::type_fct &  fct,
const QString &  sKey 
)
template<class T>
template<typename R , typename P1 , typename P2 >
IxFunction* qx::QxClass< T >::fctStatic_2 ( const typename QxFunction_2< void, R, P1, P2 >::type_fct &  fct,
const QString &  sKey 
)
template<class T>
template<typename R , typename P1 , typename P2 , typename P3 >
IxFunction* qx::QxClass< T >::fctStatic_3 ( const typename QxFunction_3< void, R, P1, P2, P3 >::type_fct &  fct,
const QString &  sKey 
)
template<class T>
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 >
IxFunction* qx::QxClass< T >::fctStatic_4 ( const typename QxFunction_4< void, R, P1, P2, P3, P4 >::type_fct &  fct,
const QString &  sKey 
)
template<class T>
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 >
IxFunction* qx::QxClass< T >::fctStatic_5 ( const typename QxFunction_5< void, R, P1, P2, P3, P4, P5 >::type_fct &  fct,
const QString &  sKey 
)
template<class T>
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 >
IxFunction* qx::QxClass< T >::fctStatic_6 ( const typename QxFunction_6< void, R, P1, P2, P3, P4, P5, P6 >::type_fct &  fct,
const QString &  sKey 
)
template<class T>
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 >
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 
)
template<class T>
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 >
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 
)
template<class T>
template<typename R , typename P1 , typename P2 , typename P3 , typename P4 , typename P5 , typename P6 , typename P7 , typename P8 , typename P9 >
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 
)
template<class T>
IxFunctionX* qx::QxClass< T >::fctStaticX ( ) const [inline]

Definition at line 104 of file QxClass.h.

template<class T>
virtual IxValidatorX* qx::QxClass< T >::getAllValidator ( ) [inline, virtual]

Reimplemented from qx::IxClass.

Definition at line 172 of file QxClass.h.

template<class T>
virtual IxClass* qx::QxClass< T >::getBaseClass ( ) const [inline, virtual]

Implements qx::IxClass.

Definition at line 162 of file QxClass.h.

template<class T>
IxDataMember* qx::QxClass< T >::id ( type_primary_key T::*  pDataMemberId,
const QString &  sKey,
long  lVersion = 0 
)
template<class T>
IxDataMember* qx::QxClass< T >::id ( const QString &  sKey,
long  lVersion 
)
template<class T>
template<typename U >
IxDataMember* qx::QxClass< T >::id ( type_primary_key U::*  pDataMemberId,
const QString &  sKey,
long  lVersion,
IxDataMember pImpl 
)
template<class T>
virtual bool qx::QxClass< T >::implementIxPersistable ( ) const [inline, virtual]

Implements qx::IxClass.

Definition at line 154 of file QxClass.h.

template<class T>
void qx::QxClass< T >::init ( ) [private]
template<class T>
IxFunction* qx::QxClass< T >::insertFct ( IxFunction_ptr  pFct,
const QString &  sKey 
) [private]
template<class T>
IxFunction* qx::QxClass< T >::insertFctStatic ( IxFunction_ptr  pFct,
const QString &  sKey 
) [private]
template<class T>
static qx_bool qx::QxClass< T >::invoke ( const QString &  sKey,
T *  pOwner,
const QString &  params = QString(),
qx::any ret = NULL 
) [inline, static]

Definition at line 146 of file QxClass.h.

template<class T>
static qx_bool qx::QxClass< T >::invoke ( const QString &  sKey,
T *  pOwner,
const type_any_params params,
qx::any ret = NULL 
) [inline, static]

Definition at line 147 of file QxClass.h.

template<class T>
static qx_bool qx::QxClass< T >::invokeStatic ( const QString &  sKey,
const QString &  params = QString(),
qx::any ret = NULL 
) [inline, static]

Definition at line 148 of file QxClass.h.

template<class T>
static qx_bool qx::QxClass< T >::invokeStatic ( const QString &  sKey,
const type_any_params params,
qx::any ret = NULL 
) [inline, static]

Definition at line 149 of file QxClass.h.

template<class T>
virtual bool qx::QxClass< T >::isAbstract ( ) const [inline, virtual]

Implements qx::IxClass.

Definition at line 151 of file QxClass.h.

template<class T>
template<typename V , typename U >
IxDataMember* qx::QxClass< T >::pimpl ( V U::*  pData,
const QString &  sKey = QString("_PIMPL_") 
)
template<class T>
void qx::QxClass< T >::registerClass ( ) [inline, private]

Definition at line 185 of file QxClass.h.

template<class T>
template<typename V , typename U >
IxSqlRelation* qx::QxClass< T >::relationManyToMany ( V U::*  pData,
const QString &  sKey,
const QString &  sExtraTable,
const QString &  sForeignKeyOwner,
const QString &  sForeignKeyDataType,
long  lVersion = 0 
)
template<class T>
template<typename V , typename U >
IxSqlRelation* qx::QxClass< T >::relationManyToMany ( V U::*  pData,
const QString &  sKey,
const QString &  sExtraTable,
const QString &  sForeignKeyOwner,
const QString &  sForeignKeyDataType,
long  lVersion,
IxDataMember pImpl 
)
template<class T>
template<typename V , typename U >
IxSqlRelation* qx::QxClass< T >::relationManyToOne ( V U::*  pData,
const QString &  sKey,
long  lVersion = 0 
)
template<class T>
template<typename V , typename U >
IxSqlRelation* qx::QxClass< T >::relationManyToOne ( V U::*  pData,
const QString &  sKey,
long  lVersion,
IxDataMember pImpl 
)
template<class T>
template<typename V , typename U >
IxSqlRelation* qx::QxClass< T >::relationOneToMany ( V U::*  pData,
const QString &  sKey,
const QString &  sForeignKey,
long  lVersion = 0 
)
template<class T>
template<typename V , typename U >
IxSqlRelation* qx::QxClass< T >::relationOneToMany ( V U::*  pData,
const QString &  sKey,
const QString &  sForeignKey,
long  lVersion,
IxDataMember pImpl 
)
template<class T>
template<typename V , typename U >
IxSqlRelation* qx::QxClass< T >::relationOneToOne ( V U::*  pData,
const QString &  sKey,
long  lVersion = 0 
)
template<class T>
template<typename V , typename U >
IxSqlRelation* qx::QxClass< T >::relationOneToOne ( V U::*  pData,
const QString &  sKey,
long  lVersion,
IxDataMember pImpl 
)
template<class T>
virtual const std::type_info& qx::QxClass< T >::typeInfo ( ) const [inline, virtual]

Implements qx::IxClass.

Definition at line 158 of file QxClass.h.


Friends And Related Function Documentation

template<class T>
friend class QxSingleton< QxClass< T > > [friend]

Definition at line 81 of file QxClass.h.


Member Data Documentation

template<class T>
QMutex qx::QxClass< T >::m_oMutexClass [protected]

Mutex -> 'QxClass' is thread-safe.

Definition at line 93 of file QxClass.h.


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