QxOrm 1.1.6
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::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
IxDataMembergetDataMember () const
IxDataMemberXgetDataMemberX () const
IxDataMembergetDataId () 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 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 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
virtual QSqlError createExtraTable (QxSqlRelationParams &params) const =0
bool verifyOffset (QxSqlRelationParams &params, bool bId) const

Protected Attributes

IxDataMemberm_pDataMember
 'IxDataMember' associated wth sql relation
IxDataMemberXm_pDataMemberX
 Collection of 'IxDataMember' : parent of 'm_pDataMember'.
IxDataMemberm_pDataMemberId
 'IxDataMember' id of 'm_pDataMemberX'
long m_lOffsetRelation
 Generic offset for sql relation.
join_type m_eJoinType
 Join type to build sql query.
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 56 of file IxSqlRelation.h.


Member Enumeration Documentation

Enumerator:
left_outer_join 
inner_join 

Definition at line 61 of file IxSqlRelation.h.


Constructor & Destructor Documentation

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

Definition at line 76 of file IxSqlRelation.h.

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

Member Function Documentation

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

Definition at line 86 of file IxSqlRelation.h.

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

Definition at line 84 of file IxSqlRelation.h.

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

Definition at line 85 of file IxSqlRelation.h.

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

Definition at line 79 of file IxSqlRelation.h.

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

Definition at line 80 of file IxSqlRelation.h.

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

Definition at line 83 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 82 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 69 of file IxSqlRelation.h.

Generic offset for sql relation.

Definition at line 68 of file IxSqlRelation.h.

Optimization : handle to collection of 'IxDataMember'.

Definition at line 71 of file IxSqlRelation.h.

Optimization : handle to collection of 'IxSqlRelation'.

Definition at line 72 of file IxSqlRelation.h.

'IxDataMember' associated wth sql relation

Definition at line 65 of file IxSqlRelation.h.

'IxDataMember' id of 'm_pDataMemberX'

Definition at line 67 of file IxSqlRelation.h.

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

Definition at line 66 of file IxSqlRelation.h.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines