QxOrm  1.2.8
C++ Object Relational Mapping library

qx::QxSqlRelationLinked : hierarchy of relationships to build SQL query More...

#include <QxSqlRelationLinked.h>

List of all members.

Public Member Functions

 QxSqlRelationLinked ()
 QxSqlRelationLinked (bool bRoot)
virtual ~QxSqlRelationLinked ()
qx_bool buildHierarchy (IxSqlRelationX *pRelationX, const QStringList &sRelationX)
void hierarchySelect (QxSqlRelationParams &params)
void hierarchyFrom (QxSqlRelationParams &params)
void hierarchyJoin (QxSqlRelationParams &params)
void hierarchyWhereSoftDelete (QxSqlRelationParams &params)
void hierarchyResolveOutput (QxSqlRelationParams &params)
QSqlError hierarchyOnBeforeSave (QxSqlRelationParams &params)
QSqlError hierarchyOnAfterSave (QxSqlRelationParams &params)
void updateOffset (QxSqlRelationParams &params)
bool getCartesianProduct () const
long getAllRelationCount () const
long getRelationCount () const
bool existRelation (const QString &sKey) const

Protected Types

typedef boost::shared_ptr
< QxSqlRelationLinked
type_ptr
typedef boost::tuple
< qx::dao::sql_join::join_type,
IxSqlRelation * > 
type_relation
typedef qx::QxCollection
< QString, type_relation
type_lst_relation
typedef QHash< QString, type_ptrtype_lst_relation_linked

Protected Member Functions

qx_bool insertRelationToHierarchy (const QStringList &sRelationX, const QString &sKey, qx::dao::sql_join::join_type eJoinType)
bool isValidDaoHelper (QxSqlRelationParams &params) const

Protected Attributes

type_lst_relation m_relationX
 List of relationships for current level.
type_lst_relation_linked m_relationLinkedX
 List of child to build the hierarchy.
IxSqlRelationXm_allRelationX
 List of all relationships per level.
bool m_bRoot
 Root of the hierarchy.

Detailed Description

qx::QxSqlRelationLinked : hierarchy of relationships to build SQL query

Here is the structure, each real relation has a relation linked associated to build the hierarchy, like this :

(<root>, <relation_linked>)
   ("blog", blog_relation)
   ("blog", <relation_linked>)
      ("author", author_relation)
      ("author", <relation_linked>)
         ("list_blog", list_blog_relation)
         ("list_blog", <relation_linked>)
            (etc...)
      ("comment", comment_relation)
      ("comment", <relation_linked>)
         ("blog_id", blog_id_relation)
         ("blog_id", <relation_linked>)
            (etc...)
      ("category", category_relation)
      ("category", <relation_linked>)
         ("list_blog", list_blog_relation)
         ("list_blog", <relation_linked>)
            (etc...)

Definition at line 86 of file QxSqlRelationLinked.h.


Member Typedef Documentation

Definition at line 93 of file QxSqlRelationLinked.h.

typedef QHash<QString, type_ptr> qx::QxSqlRelationLinked::type_lst_relation_linked [protected]

Definition at line 94 of file QxSqlRelationLinked.h.

typedef boost::shared_ptr<QxSqlRelationLinked> qx::QxSqlRelationLinked::type_ptr [protected]

Definition at line 91 of file QxSqlRelationLinked.h.

Definition at line 92 of file QxSqlRelationLinked.h.


Constructor & Destructor Documentation

qx::QxSqlRelationLinked::QxSqlRelationLinked ( )
qx::QxSqlRelationLinked::QxSqlRelationLinked ( bool  bRoot)
virtual qx::QxSqlRelationLinked::~QxSqlRelationLinked ( ) [virtual]

Member Function Documentation

qx_bool qx::QxSqlRelationLinked::buildHierarchy ( IxSqlRelationX pRelationX,
const QStringList &  sRelationX 
)
bool qx::QxSqlRelationLinked::existRelation ( const QString &  sKey) const
long qx::QxSqlRelationLinked::getAllRelationCount ( ) const
bool qx::QxSqlRelationLinked::getCartesianProduct ( ) const
long qx::QxSqlRelationLinked::getRelationCount ( ) const
void qx::QxSqlRelationLinked::hierarchyFrom ( QxSqlRelationParams params)
void qx::QxSqlRelationLinked::hierarchyJoin ( QxSqlRelationParams params)
QSqlError qx::QxSqlRelationLinked::hierarchyOnAfterSave ( QxSqlRelationParams params)
QSqlError qx::QxSqlRelationLinked::hierarchyOnBeforeSave ( QxSqlRelationParams params)
void qx::QxSqlRelationLinked::hierarchyResolveOutput ( QxSqlRelationParams params)
void qx::QxSqlRelationLinked::hierarchySelect ( QxSqlRelationParams params)
void qx::QxSqlRelationLinked::hierarchyWhereSoftDelete ( QxSqlRelationParams params)
qx_bool qx::QxSqlRelationLinked::insertRelationToHierarchy ( const QStringList &  sRelationX,
const QString &  sKey,
qx::dao::sql_join::join_type  eJoinType 
) [protected]
bool qx::QxSqlRelationLinked::isValidDaoHelper ( QxSqlRelationParams params) const [protected]
void qx::QxSqlRelationLinked::updateOffset ( QxSqlRelationParams params)

Member Data Documentation

List of all relationships per level.

Definition at line 98 of file QxSqlRelationLinked.h.

Root of the hierarchy.

Definition at line 99 of file QxSqlRelationLinked.h.

List of child to build the hierarchy.

Definition at line 97 of file QxSqlRelationLinked.h.

List of relationships for current level.

Definition at line 96 of file QxSqlRelationLinked.h.


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