QxOrm  1.2.3
C++ Object Relational Mapping library

qx::IxSqlRelation : common interface for all relationships defined between 2 classes (or between 2 tables in database) More...

#include <IxSqlRelation.h>

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

List of all members.

Public Types

enum  join_type { left_outer_join, inner_join }

Public Member Functions

 IxSqlRelation (IxDataMember *p)
virtual ~IxSqlRelation ()=0
QxCollection< QString,
IxDataMember * > * 
getLstDataMember () const
IxSqlRelationXgetLstRelation () const
void setSqlJoinType (join_type e)
join_type getSqlJoinType () const
IxClassgetClass () const
IxClassgetClassOwner () const
IxDataMembergetDataMember () const
IxDataMemberXgetDataMemberX () const
IxDataMembergetDataId () const
IxDataMembergetDataIdOwner () const
QString getKey () const
long getDataCount () const
long getRelationCount () const
IxDataMembergetDataByKey (const QString &sKey) const
IxDataMembernextData (long &lIndex) const
IxSqlRelationnextRelation (long &lIndex) const
QString table () const
QString tableAlias (QxSqlRelationParams &params) const
QString getSqlJoin () const
virtual void init ()=0
virtual QString getDescription () const =0
virtual QString getExtraTable () const =0
virtual QString createExtraTable () const =0
virtual bool getCartesianProduct () const =0
virtual QVariant getIdFromQuery (bool bEager, QxSqlRelationParams &params) const =0
virtual void updateOffset (bool bEager, QxSqlRelationParams &params) const =0
virtual void createTable (QxSqlRelationParams &params) const =0
virtual void lazySelect (QxSqlRelationParams &params) const =0
virtual void eagerSelect (QxSqlRelationParams &params) const =0
virtual void lazyFrom (QxSqlRelationParams &params) const =0
virtual void eagerFrom (QxSqlRelationParams &params) const =0
virtual void lazyJoin (QxSqlRelationParams &params) const =0
virtual void eagerJoin (QxSqlRelationParams &params) const =0
virtual void lazyWhere (QxSqlRelationParams &params) const =0
virtual void eagerWhere (QxSqlRelationParams &params) const =0
virtual void lazyWhereSoftDelete (QxSqlRelationParams &params) const =0
virtual void eagerWhereSoftDelete (QxSqlRelationParams &params) const =0
virtual void lazyFetch_ResolveInput (QxSqlRelationParams &params) const =0
virtual void eagerFetch_ResolveInput (QxSqlRelationParams &params) const =0
virtual void lazyFetch_ResolveOutput (QxSqlRelationParams &params) const =0
virtual void eagerFetch_ResolveOutput (QxSqlRelationParams &params) const =0
virtual void lazyInsert (QxSqlRelationParams &params) const =0
virtual void lazyInsert_Values (QxSqlRelationParams &params) const =0
virtual void lazyUpdate (QxSqlRelationParams &params) const =0
virtual void lazyInsert_ResolveInput (QxSqlRelationParams &params) const =0
virtual void lazyUpdate_ResolveInput (QxSqlRelationParams &params) const =0
virtual QSqlError onBeforeSave (QxSqlRelationParams &params) const =0
virtual QSqlError onAfterSave (QxSqlRelationParams &params) const =0
bool verifyOffset (QxSqlRelationParams &params, bool bId) const

Protected Attributes

IxClassm_pClass
 'IxClass' associated wth sql relation
IxClassm_pClassOwner
 'IxClass' of the owner
IxDataMemberm_pDataMember
 'IxDataMember' associated wth sql relation
IxDataMemberXm_pDataMemberX
 Collection of 'IxDataMember' : parent of 'm_pDataMember'.
IxDataMemberm_pDataMemberId
 'IxDataMember' id of 'm_pDataMemberX'
IxDataMemberm_pDataMemberIdOwner
 'IxDataMember' id of the owner
long m_lOffsetRelation
 Generic offset for sql relation.
join_type m_eJoinType
 Join type to build sql query.
QxSoftDelete m_oSoftDelete
 Soft delete (or logical delete) behavior.
QxCollection< QString,
IxDataMember * > * 
m_lstDataMemberPtr
 Optimization : handle to collection of 'IxDataMember'.
IxSqlRelationXm_lstSqlRelationPtr
 Optimization : handle to collection of 'IxSqlRelation'.

Detailed Description

qx::IxSqlRelation : common interface for all relationships defined between 2 classes (or between 2 tables in database)

Definition at line 65 of file IxSqlRelation.h.


Member Enumeration Documentation

Enumerator:
left_outer_join 
inner_join 

Definition at line 70 of file IxSqlRelation.h.


Constructor & Destructor Documentation

qx::IxSqlRelation::IxSqlRelation ( IxDataMember p) [inline]

Definition at line 89 of file IxSqlRelation.h.

virtual qx::IxSqlRelation::~IxSqlRelation ( ) [pure virtual]

Member Function Documentation

IxClass* qx::IxSqlRelation::getClass ( ) const [inline]

Definition at line 97 of file IxSqlRelation.h.

IxClass* qx::IxSqlRelation::getClassOwner ( ) const [inline]

Definition at line 98 of file IxSqlRelation.h.

IxDataMember* qx::IxSqlRelation::getDataByKey ( const QString &  sKey) const
long qx::IxSqlRelation::getDataCount ( ) const
IxDataMember* qx::IxSqlRelation::getDataId ( ) const [inline]

Definition at line 101 of file IxSqlRelation.h.

IxDataMember* qx::IxSqlRelation::getDataIdOwner ( ) const [inline]

Definition at line 102 of file IxSqlRelation.h.

IxDataMember* qx::IxSqlRelation::getDataMember ( ) const [inline]

Definition at line 99 of file IxSqlRelation.h.

IxDataMemberX* qx::IxSqlRelation::getDataMemberX ( ) const [inline]

Definition at line 100 of file IxSqlRelation.h.

QString qx::IxSqlRelation::getKey ( ) const
QxCollection<QString, IxDataMember *>* qx::IxSqlRelation::getLstDataMember ( ) const [inline]

Definition at line 92 of file IxSqlRelation.h.

IxSqlRelationX* qx::IxSqlRelation::getLstRelation ( ) const [inline]

Definition at line 93 of file IxSqlRelation.h.

long qx::IxSqlRelation::getRelationCount ( ) const
QString qx::IxSqlRelation::getSqlJoin ( ) const
join_type qx::IxSqlRelation::getSqlJoinType ( ) const [inline]

Definition at line 96 of file IxSqlRelation.h.

virtual void qx::IxSqlRelation::init ( ) [pure virtual]
IxDataMember* qx::IxSqlRelation::nextData ( long &  lIndex) const
IxSqlRelation* qx::IxSqlRelation::nextRelation ( long &  lIndex) const
void qx::IxSqlRelation::setSqlJoinType ( join_type  e) [inline]

Definition at line 95 of file IxSqlRelation.h.

QString qx::IxSqlRelation::table ( ) const
QString qx::IxSqlRelation::tableAlias ( QxSqlRelationParams params) const
bool qx::IxSqlRelation::verifyOffset ( QxSqlRelationParams params,
bool  bId 
) const

Member Data Documentation

Join type to build sql query.

Definition at line 81 of file IxSqlRelation.h.

Generic offset for sql relation.

Definition at line 80 of file IxSqlRelation.h.

Optimization : handle to collection of 'IxDataMember'.

Definition at line 84 of file IxSqlRelation.h.

Optimization : handle to collection of 'IxSqlRelation'.

Definition at line 85 of file IxSqlRelation.h.

Soft delete (or logical delete) behavior.

Definition at line 82 of file IxSqlRelation.h.

'IxClass' associated wth sql relation

Definition at line 74 of file IxSqlRelation.h.

'IxClass' of the owner

Definition at line 75 of file IxSqlRelation.h.

'IxDataMember' associated wth sql relation

Definition at line 76 of file IxSqlRelation.h.

'IxDataMember' id of 'm_pDataMemberX'

Definition at line 78 of file IxSqlRelation.h.

'IxDataMember' id of the owner

Definition at line 79 of file IxSqlRelation.h.

Collection of 'IxDataMember' : parent of 'm_pDataMember'.

Definition at line 77 of file IxSqlRelation.h.


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