QxOrm  1.5.0
C++ Object Relational Mapping library

qx::QxSqlRelation<DataType, Owner> : base class for all relationships defined between 2 classes (or between 2 tables in database) More...

#include <QxSqlRelation.h>

Inheritance diagram for qx::QxSqlRelation< DataType, Owner >:
qx::IxSqlRelation qx::QxPropertyBag qx::QxSqlRelation_ManyToMany< DataType, Owner > qx::QxSqlRelation_ManyToOne< DataType, Owner > qx::QxSqlRelation_OneToMany< DataType, Owner > qx::QxSqlRelation_OneToOne< DataType, Owner >

List of all members.

Classes

struct  createItem_Helper
struct  createItem_Helper< true, dummy >
struct  getContainer_Helper
struct  getContainer_Helper< false, true, dummy >
struct  getContainer_Helper< true, false, dummy >
struct  getContainer_Helper< true, true, dummy >
struct  getData_Helper
struct  getData_Helper< false, true, dummy >
struct  getData_Helper< true, false, dummy >
struct  getData_Helper< true, true, dummy >
struct  isNullData_Helper
struct  isNullData_Helper< true, dummy >

Public Member Functions

 QxSqlRelation (IxDataMember *p)
virtual ~QxSqlRelation ()
virtual void init ()

Protected Types

enum  { is_valid = (qx::trait::is_qx_registered<type_data>::value && qx::trait::is_qx_registered<type_owner>::value) }
enum  { is_data_pointer = (std::is_pointer<DataType>::value || qx::trait::is_smart_ptr<DataType>::value) }
enum  { is_data_container = qx::trait::is_container<type_container>::value }
enum  { is_same_data_owner = std::is_same<type_data, value }
typedef qx::trait::remove_attr
< DataType >::type 
type_tmp_1
typedef
qx::trait::remove_smart_ptr
< type_tmp_1 >::type 
type_tmp_2
typedef type_tmp_2 type_container
typedef
qx::trait::generic_container
< type_container
type_generic_container
typedef
type_generic_container::type_item 
type_item
typedef std::conditional
< qx::trait::is_container
< type_container >::value,
typename
type_generic_container::type_value_qx,
type_container >::type 
type_tmp_3
typedef QxSqlRelation
< DataType, Owner >
::type_tmp_3 
type_data
typedef Owner type_owner

Protected Member Functions

DataType * getDataTypePtr (QxSqlRelationParams &params) const
type_ownergetOwner (QxSqlRelationParams &params) const
type_datagetData (QxSqlRelationParams &params) const
type_containergetContainer (QxSqlRelationParams &params) const
type_item createItem () const
bool isNullData (QxSqlRelationParams &params) const
bool callTriggerBeforeFetch (type_data &t, QxSqlRelationParams &params) const
bool callTriggerAfterFetch (type_data &t, QxSqlRelationParams &params) const

Detailed Description

template<class DataType, class Owner>
class qx::QxSqlRelation< DataType, Owner >

qx::QxSqlRelation<DataType, Owner> : base class for all relationships defined between 2 classes (or between 2 tables in database)

Definition at line 69 of file QxSqlRelation.h.


Member Typedef Documentation

template<class DataType, class Owner>
typedef type_tmp_2 qx::QxSqlRelation< DataType, Owner >::type_container [protected]
template<class DataType, class Owner>
typedef qx::trait::generic_container<type_container> qx::QxSqlRelation< DataType, Owner >::type_generic_container [protected]
template<class DataType, class Owner>
typedef type_generic_container::type_item qx::QxSqlRelation< DataType, Owner >::type_item [protected]
template<class DataType, class Owner>
typedef qx::trait::remove_attr<DataType>::type qx::QxSqlRelation< DataType, Owner >::type_tmp_1 [protected]

Definition at line 74 of file QxSqlRelation.h.

template<class DataType, class Owner>
typedef qx::trait::remove_smart_ptr<type_tmp_1>::type qx::QxSqlRelation< DataType, Owner >::type_tmp_2 [protected]

Definition at line 75 of file QxSqlRelation.h.

template<class DataType, class Owner>
typedef std::conditional<qx::trait::is_container<type_container>::value, typename type_generic_container::type_value_qx, type_container>::type qx::QxSqlRelation< DataType, Owner >::type_tmp_3 [protected]

Definition at line 79 of file QxSqlRelation.h.


Member Enumeration Documentation

template<class DataType, class Owner>
anonymous enum [protected]
Enumerator:
is_data_pointer 

Definition at line 84 of file QxSqlRelation.h.

template<class DataType, class Owner>
anonymous enum [protected]
Enumerator:
is_data_container 

Definition at line 85 of file QxSqlRelation.h.

template<class DataType, class Owner>
anonymous enum [protected]
Enumerator:
is_same_data_owner 
value 

Definition at line 86 of file QxSqlRelation.h.

template<class DataType, class Owner>
anonymous enum [protected]
Enumerator:
is_valid 

Definition at line 83 of file QxSqlRelation.h.


Constructor & Destructor Documentation

template<class DataType, class Owner>
qx::QxSqlRelation< DataType, Owner >::QxSqlRelation ( IxDataMember p) [inline]

Definition at line 90 of file QxSqlRelation.h.

template<class DataType, class Owner>
virtual qx::QxSqlRelation< DataType, Owner >::~QxSqlRelation ( ) [inline, virtual]

Definition at line 91 of file QxSqlRelation.h.


Member Function Documentation

template<class DataType, class Owner>
bool qx::QxSqlRelation< DataType, Owner >::callTriggerAfterFetch ( type_data t,
QxSqlRelationParams params 
) const [inline, protected]

Definition at line 127 of file QxSqlRelation.h.

template<class DataType, class Owner>
bool qx::QxSqlRelation< DataType, Owner >::callTriggerBeforeFetch ( type_data t,
QxSqlRelationParams params 
) const [inline, protected]

Definition at line 120 of file QxSqlRelation.h.

template<class DataType, class Owner>
type_item qx::QxSqlRelation< DataType, Owner >::createItem ( ) const [inline, protected]

Definition at line 114 of file QxSqlRelation.h.

template<class DataType, class Owner>
type_container& qx::QxSqlRelation< DataType, Owner >::getContainer ( QxSqlRelationParams params) const [inline, protected]

Definition at line 111 of file QxSqlRelation.h.

template<class DataType, class Owner>
type_data& qx::QxSqlRelation< DataType, Owner >::getData ( QxSqlRelationParams params) const [inline, protected]

Definition at line 108 of file QxSqlRelation.h.

template<class DataType, class Owner>
DataType* qx::QxSqlRelation< DataType, Owner >::getDataTypePtr ( QxSqlRelationParams params) const [inline, protected]

Definition at line 102 of file QxSqlRelation.h.

template<class DataType, class Owner>
type_owner& qx::QxSqlRelation< DataType, Owner >::getOwner ( QxSqlRelationParams params) const [inline, protected]

Definition at line 105 of file QxSqlRelation.h.

template<class DataType, class Owner>
virtual void qx::QxSqlRelation< DataType, Owner >::init ( ) [inline, virtual]

Reimplemented from qx::IxSqlRelation.

Definition at line 93 of file QxSqlRelation.h.

template<class DataType, class Owner>
bool qx::QxSqlRelation< DataType, Owner >::isNullData ( QxSqlRelationParams params) const [inline, protected]

Definition at line 117 of file QxSqlRelation.h.


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