QxOrm  1.2.3
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.

Public Types

enum  { is_valid_base_class = ((! boost::is_same<type_base_class, T>::value) && (boost::is_base_of<type_base_class, T>::value || boost::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
IxDataMemberid (type_primary_key T::*pDataMemberId, const QString &sKey)
IxDataMemberid (type_primary_key T::*pDataMemberId, const QString &sKey, long lVersion)
IxDataMemberid (const QString &sKey, long lVersion)
IxDataMemberdata (const QString &sKey, long lVersion)
template<typename V , typename U >
IxDataMemberdata (V U::*pData, const QString &sKey)
template<typename V , typename U >
IxDataMemberdata (V U::*pData, const QString &sKey, long lVersion)
template<typename V , typename U >
IxDataMemberdata (V U::*pData, const QString &sKey, long lVersion, bool bSerialize)
template<typename V , typename U >
IxDataMemberdata (V U::*pData, const QString &sKey, long lVersion, bool bSerialize, bool bDao)
template<typename V , typename U >
IxSqlRelationrelationOneToOne (V U::*pData, const QString &sKey)
template<typename V , typename U >
IxSqlRelationrelationOneToOne (V U::*pData, const QString &sKey, long lVersion)
template<typename V , typename U >
IxSqlRelationrelationManyToOne (V U::*pData, const QString &sKey)
template<typename V , typename U >
IxSqlRelationrelationManyToOne (V U::*pData, const QString &sKey, long lVersion)
template<typename V , typename U >
IxSqlRelationrelationOneToMany (V U::*pData, const QString &sKey, const QString &sForeignKey)
template<typename V , typename U >
IxSqlRelationrelationOneToMany (V U::*pData, const QString &sKey, const QString &sForeignKey, long lVersion)
template<typename V , typename U >
IxSqlRelationrelationManyToMany (V U::*pData, const QString &sKey, const QString &sExtraTable, const QString &sForeignKeyOwner, const QString &sForeignKeyDataType)
template<typename V , typename U >
IxSqlRelationrelationManyToMany (V U::*pData, const QString &sKey, const QString &sExtraTable, const QString &sForeignKeyOwner, const QString &sForeignKeyDataType, long lVersion)
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)
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(), boost::any *ret=NULL)
static qx_bool invoke (const QString &sKey, T *pOwner, const type_any_params &params, boost::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)
void registerClass ()
void beforeRegisterClass ()
qx_bool invokeHelper (const QString &sKey, T *pOwner, const QString &params, boost::any *ret)
qx_bool invokeHelper (const QString &sKey, T *pOwner, const type_any_params &params, boost::any *ret)

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 73 of file QxClass.h.


Member Typedef Documentation

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

Definition at line 82 of file QxClass.h.

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

Definition at line 81 of file QxClass.h.

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

Definition at line 80 of file QxClass.h.


Member Enumeration Documentation

template<class T>
anonymous enum
Enumerator:
is_valid_base_class 

Definition at line 84 of file QxClass.h.


Constructor & Destructor Documentation

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

Definition at line 92 of file QxClass.h.

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

Definition at line 93 of file QxClass.h.


Member Function Documentation

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

Definition at line 160 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 
)
template<class T>
template<typename V , typename U >
IxDataMember* qx::QxClass< T >::data ( V U::*  pData,
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,
bool  bSerialize 
)
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 
)
template<class T>
QxDataMemberX<T>* qx::QxClass< T >::dataMemberX ( ) const [inline]

Definition at line 97 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 98 of file QxClass.h.

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

Reimplemented from qx::IxClass.

Definition at line 146 of file QxClass.h.

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

Implements qx::IxClass.

Definition at line 136 of file QxClass.h.

template<class T>
IxDataMember* qx::QxClass< T >::id ( type_primary_key T::*  pDataMemberId,
const QString &  sKey 
)
template<class T>
IxDataMember* qx::QxClass< T >::id ( type_primary_key T::*  pDataMemberId,
const QString &  sKey,
long  lVersion 
)
template<class T>
IxDataMember* qx::QxClass< T >::id ( const QString &  sKey,
long  lVersion 
)
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>
static qx_bool qx::QxClass< T >::invoke ( const QString &  sKey,
T *  pOwner,
const QString &  params = QString(),
boost::any *  ret = NULL 
) [inline, static]

Definition at line 130 of file QxClass.h.

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

Definition at line 131 of file QxClass.h.

template<class T>
qx_bool qx::QxClass< T >::invokeHelper ( const QString &  sKey,
T *  pOwner,
const QString &  params,
boost::any *  ret 
) [inline, private]

Definition at line 170 of file QxClass.h.

template<class T>
qx_bool qx::QxClass< T >::invokeHelper ( const QString &  sKey,
T *  pOwner,
const type_any_params params,
boost::any *  ret 
) [inline, private]

Definition at line 173 of file QxClass.h.

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

Definition at line 158 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 
)
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 
)
template<class T>
template<typename V , typename U >
IxSqlRelation* qx::QxClass< T >::relationManyToOne ( V U::*  pData,
const QString &  sKey 
)
template<class T>
template<typename V , typename U >
IxSqlRelation* qx::QxClass< T >::relationManyToOne ( V U::*  pData,
const QString &  sKey,
long  lVersion 
)
template<class T>
template<typename V , typename U >
IxSqlRelation* qx::QxClass< T >::relationOneToMany ( V U::*  pData,
const QString &  sKey,
const QString &  sForeignKey 
)
template<class T>
template<typename V , typename U >
IxSqlRelation* qx::QxClass< T >::relationOneToMany ( V U::*  pData,
const QString &  sKey,
const QString &  sForeignKey,
long  lVersion 
)
template<class T>
template<typename V , typename U >
IxSqlRelation* qx::QxClass< T >::relationOneToOne ( V U::*  pData,
const QString &  sKey 
)
template<class T>
template<typename V , typename U >
IxSqlRelation* qx::QxClass< T >::relationOneToOne ( V U::*  pData,
const QString &  sKey,
long  lVersion 
)
template<class T>
virtual const std::type_info& qx::QxClass< T >::typeInfo ( ) const [inline, virtual]

Implements qx::IxClass.

Definition at line 133 of file QxClass.h.


Friends And Related Function Documentation

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

Definition at line 76 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 88 of file QxClass.h.


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