Main Page   Class Hierarchy   Alphabetical List   Compound List   File List   Compound Members   File Members  

ChainedRelationBase Class Reference

#include <cChainedRelationBase.h>

Inheritance diagram for ChainedRelationBase:

Inheritance graph
[legend]
Collaboration diagram for ChainedRelationBase:

Collaboration graph
[legend]
List of all members.

Public Methods

 ~ChainedRelationBase ()
virtual bool InsertCouple (RefBase &left, RefBase &right)
virtual bool DeleteCouple (RefBase &left, RefBase &right)
virtual bool LDeleteAll (class RefBase &right)
virtual bool RDeleteAll (class RefBase &left)
virtual bool WriteDDL (ofstream &S, class Database &Db)
virtual bool ExistsCouple (const class RefBase &left, const class RefBase &right)
 ChainedRelationBase (const ChainedRelationBase &R)
RelationConnection (class Connection *DbConn)
virtual bool InsertCouple (class Object &left, class RefBase &right)
virtual bool InsertCouple (class RefBase &left, class Object &right)
virtual bool InsertCouple (class Object &left, class Object &right)
virtual bool DeleteCouple (class Object &left, class RefBase &right)
virtual bool DeleteCouple (class RefBase &left, class Object &right)
virtual bool DeleteCouple (class Object &left, class Object &right)
virtual bool LDeleteAll (class Object &right)
virtual bool DeleteLeft (class RefBase &right)
virtual bool DeleteLeft (class Object &right)
virtual bool RDeleteAll (class Object &left)
virtual bool DeleteRight (class RefBase &left)
virtual bool DeleteRight (class Object &left)
virtual bool LExists (const class RefBase &right, const class QueRefProto &query=EQUERY)
virtual bool LExists (const class Object &right, const class QueRefProto &query=EQUERY)
virtual bool RExists (const class RefBase &left, const class QueRefProto &query=EQUERY)
virtual bool RExists (const class Object &left, const class QueRefProto &query=EQUERY)
virtual bool ExistsCouple (const class Object &left, const class RefBase &right)
virtual bool ExistsCouple (const class RefBase &left, const class Object &right)
virtual bool ExistsCouple (const class Object &left, const class Object &right)

Protected Methods

 ChainedRelationBase (const char *a_left_class_name, const char *a_right_class_name, const char *a_table_name, class Connection *a_database_connection, const char *a_left_column_name, const char *a_right_column_name, const char *a_inner_columns, const int a_relnum, const int a_qnum, const class Query &a_left_query, const class Query &a_right_query)
 ChainedRelationBase (const ChainedRelationBase &X, const ChainedRelationBase &Y)
 ChainedRelationBase (ProtoBase &X, ProtoBase &Y)
virtual class ResultBase_LGetAll (ResultBase *rb, const class RefBase &right, const class QueRefProto &query=ALL)
virtual ResultBase_RGetAll (ResultBase *rb, const class RefBase &left, const class QueRefProto &query=ALL)
void _Init (const char *a_left_class_name, const char *a_right_class_name, const char *a_table_name, class Connection *a_database_connection, const char *a_left_column_name, const char *a_right_column_name, const char *a_inner_columns, const int a_relnum, const int a_qnum, const class Query &a_left_query, const class Query &a_right_query)
virtual ResultBase_LGetAll (ResultBase *rb, const class QueRefProto &qL, const class QueRefProto &qR)
virtual ResultBase_RGetAll (ResultBase *rb, const class QueRefProto &qL, const class QueRefProto &qR)
virtual const char * _TableName () const

Protected Attributes

char * _inner_columns
int _relnum
int _qnum
Query _left_query
Query _right_query
Connection_databaseConnection
const char * _leftClassName
char * _leftColumnName
const char * _rightClassName
char * _tableName
char * _rightColumnName

Friends

class QueRefProto
class OneToOneRelationBase
class OneToManyRelationBase
class ManyToOneRelationBase
class ManyToManyRelationBase

Constructor & Destructor Documentation

ChainedRelationBase::ChainedRelationBase const char *    a_left_class_name,
const char *    a_right_class_name,
const char *    a_table_name,
class Connection   a_database_connection,
const char *    a_left_column_name,
const char *    a_right_column_name,
const char *    a_inner_columns,
const int    a_relnum,
const int    a_qnum,
const class Query   a_left_query,
const class Query   a_right_query
[protected]
 

Definition at line 28 of file cChainedRelationBase.cpp.

References _inner_columns, _qnum, _relnum, and StrCpy().

ChainedRelationBase::ChainedRelationBase const ChainedRelationBase &    X,
const ChainedRelationBase &    Y
[protected]
 

Definition at line 57 of file cChainedRelationBase.cpp.

References _inner_columns, _qnum, ProtoBase::_RealiasT(), _relnum, _right_query, Relation::_rightClassName, Relation::_rightColumnName, Relation::_tableName, ProtoBase::_TranslateToSql(), Query::_where, ProtoBase::FullFrom(), ProtoBase::FullWhere(), ProtoBase::KeySelect(), RealiasQ(), RealiasR(), StrAddPrefix(), StrAndOnly(), StrCat(), StrCpy(), StrFree(), and StrMergeLists().

ChainedRelationBase::ChainedRelationBase ProtoBase   X,
ProtoBase   Y
[protected]
 

Definition at line 169 of file cChainedRelationBase.cpp.

References _inner_columns, Relation::_leftColumnName, _qnum, _relnum, Relation::_rightColumnName, Relation::_tableName, AliasR(), ProtoBase::From(), ProtoBase::KeySelect(), StrCat(), StrCpy(), StrFree(), StrPrefixCut(), and StrSplit().

ChainedRelationBase::~ChainedRelationBase  
 

Definition at line 214 of file cChainedRelationBase.cpp.

References StrFree().

ChainedRelationBase::ChainedRelationBase const ChainedRelationBase &    R
 

Definition at line 476 of file cChainedRelationBase.cpp.

References _inner_columns, _qnum, _relnum, and StrCpy().


Member Function Documentation

void ChainedRelationBase::_Init const char *    a_left_class_name,
const char *    a_right_class_name,
const char *    a_table_name,
class Connection   a_database_connection,
const char *    a_left_column_name,
const char *    a_right_column_name,
const char *    a_inner_columns,
const int    a_relnum,
const int    a_qnum,
const class Query   a_left_query,
const class Query   a_right_query
[protected]
 

Definition at line 416 of file cChainedRelationBase.cpp.

References Relation::_databaseConnection, _inner_columns, Relation::_leftClassName, Relation::_leftColumnName, _qnum, _relnum, Relation::_rightClassName, Relation::_rightColumnName, Relation::_tableName, AliasR(), StrCat(), StrCpy(), StrFree(), StrPrefixCut(), and StrSplit().

Referenced by ChainedRelation< L, R >::ChainedRelation(), and ChainedRelation< L, R >::operator=().

ResultBase * ChainedRelationBase::_LGetAll ResultBase   rb,
const class QueRefProto   qL,
const class QueRefProto   qR
[protected, virtual]
 

Implements Relation.

Definition at line 493 of file cChainedRelationBase.cpp.

References Query::_order_by, ProtoBase::_RealiasT(), ProtoBase::_TranslateToSql(), Query::And(), ProtoBase::FullFrom(), ProtoBase::FullWhere(), ProtoBase::KeySelect(), StrAnd(), StrAndOnly(), StrCat(), StrCpy(), StrFree(), and StrMergeLists().

ResultBase * ChainedRelationBase::_LGetAll ResultBase   rb,
const class RefBase   right,
const class QueRefProto   query = ALL
[protected, virtual]
 

Implements Relation.

Definition at line 282 of file cChainedRelationBase.cpp.

References RefBase::_KeyValues(), Query::_order_by, ProtoBase::_RealiasT(), Query::And(), ObjRef::IsTransient(), ProtoBase::KeySelect(), StrAnd(), StrCat(), StrCpy(), StrFree(), and StrMergeLists().

Referenced by ChainedRelation< L, R >::LGetAll().

ResultBase * ChainedRelationBase::_RGetAll ResultBase   rb,
const class QueRefProto   qL,
const class QueRefProto   qR
[protected, virtual]
 

Implements Relation.

Definition at line 572 of file cChainedRelationBase.cpp.

References Query::_order_by, ProtoBase::_RealiasT(), ProtoBase::_TranslateToSql(), Query::And(), ProtoBase::FullFrom(), ProtoBase::FullWhere(), ProtoBase::KeySelect(), StrAnd(), StrAndOnly(), StrCat(), StrCpy(), StrFree(), and StrMergeLists().

ResultBase * ChainedRelationBase::_RGetAll ResultBase   rb,
const class RefBase   left,
const class QueRefProto   query = ALL
[protected, virtual]
 

Implements Relation.

Definition at line 220 of file cChainedRelationBase.cpp.

References RefBase::_KeyValues(), Query::_order_by, ProtoBase::_RealiasT(), Query::And(), ObjRef::IsTransient(), ProtoBase::KeySelect(), StrAnd(), StrCat(), StrCpy(), StrFree(), and StrMergeLists().

Referenced by ChainedRelation< L, R >::RGetAll().

virtual const char* Relation::_TableName   const [inline, protected, virtual, inherited]
 

Reimplemented in ManyToOneRelationBase, OneToManyRelationBase, and OneToOneRelationBase.

Definition at line 125 of file cRelation.h.

Referenced by ChainedRelation< L, R >::ChainedRelation(), and ChainedRelation< L, R >::operator=().

Relation& Relation::Connection class Connection *    DbConn [inline, inherited]
 

Definition at line 59 of file cRelation.h.

bool Relation::DeleteCouple class Object   left,
class Object   right
[virtual, inherited]
 

Definition at line 81 of file cRelation.cpp.

References Relation::DeleteCouple().

bool Relation::DeleteCouple class RefBase   left,
class Object   right
[virtual, inherited]
 

Definition at line 75 of file cRelation.cpp.

References Relation::DeleteCouple().

bool Relation::DeleteCouple class Object   left,
class RefBase   right
[virtual, inherited]
 

Definition at line 69 of file cRelation.cpp.

References Relation::DeleteCouple().

virtual bool ChainedRelationBase::DeleteCouple RefBase   left,
RefBase   right
[inline, virtual]
 

Implements Relation.

Definition at line 77 of file cChainedRelationBase.h.

virtual bool Relation::DeleteLeft class Object   right [inline, virtual, inherited]
 

Definition at line 77 of file cRelation.h.

virtual bool Relation::DeleteLeft class RefBase   right [inline, virtual, inherited]
 

Definition at line 76 of file cRelation.h.

virtual bool Relation::DeleteRight class Object   left [inline, virtual, inherited]
 

Definition at line 84 of file cRelation.h.

virtual bool Relation::DeleteRight class RefBase   left [inline, virtual, inherited]
 

Definition at line 83 of file cRelation.h.

bool Relation::ExistsCouple const class Object   left,
const class Object   right
[virtual, inherited]
 

Definition at line 180 of file cRelation.cpp.

References Relation::ExistsCouple().

bool Relation::ExistsCouple const class RefBase   left,
const class Object   right
[virtual, inherited]
 

Definition at line 175 of file cRelation.cpp.

References Relation::ExistsCouple().

bool Relation::ExistsCouple const class Object   left,
const class RefBase   right
[virtual, inherited]
 

Definition at line 170 of file cRelation.cpp.

References Relation::ExistsCouple().

bool ChainedRelationBase::ExistsCouple const class RefBase   left,
const class RefBase   right
[virtual]
 

Implements Relation.

Definition at line 345 of file cChainedRelationBase.cpp.

References Relation::_databaseConnection, Connection::_Execute(), Connection::_FetchNext(), _inner_columns, RefBase::_KeyValues(), Relation::_leftClassName, Relation::_leftColumnName, Connection::_Open(), Connection::_PreFetchBind(), Connection::_Prepare(), ProtoBase::_RealiasT(), Relation::_rightClassName, Relation::_rightColumnName, Relation::_tableName, ObjRef::IsTransient(), StrAndOnly(), StrCat(), StrClause(), StrCpy(), StrFree(), and StrMergeLists().

bool Relation::InsertCouple class Object   left,
class Object   right
[virtual, inherited]
 

Definition at line 62 of file cRelation.cpp.

References Relation::InsertCouple().

bool Relation::InsertCouple class RefBase   left,
class Object   right
[virtual, inherited]
 

Definition at line 56 of file cRelation.cpp.

References Relation::InsertCouple().

bool Relation::InsertCouple class Object   left,
class RefBase   right
[virtual, inherited]
 

Definition at line 50 of file cRelation.cpp.

References Relation::InsertCouple().

virtual bool ChainedRelationBase::InsertCouple RefBase   left,
RefBase   right
[inline, virtual]
 

Implements Relation.

Definition at line 74 of file cChainedRelationBase.h.

bool Relation::LDeleteAll class Object   right [virtual, inherited]
 

Definition at line 88 of file cRelation.cpp.

References Relation::LDeleteAll().

virtual bool ChainedRelationBase::LDeleteAll class RefBase   right [inline, virtual]
 

Implements Relation.

Definition at line 80 of file cChainedRelationBase.h.

bool Relation::LExists const class Object   right,
const class QueRefProto   query = EQUERY
[virtual, inherited]
 

Definition at line 126 of file cRelation.cpp.

bool Relation::LExists const class RefBase   right,
const class QueRefProto   query = EQUERY
[virtual, inherited]
 

Definition at line 100 of file cRelation.cpp.

References ResultBase::Close(), and ResultBase::First().

bool Relation::RDeleteAll class Object   left [virtual, inherited]
 

Definition at line 94 of file cRelation.cpp.

References Relation::LDeleteAll().

virtual bool ChainedRelationBase::RDeleteAll class RefBase   left [inline, virtual]
 

Implements Relation.

Definition at line 83 of file cChainedRelationBase.h.

bool Relation::RExists const class Object   left,
const class QueRefProto   query = EQUERY
[virtual, inherited]
 

Definition at line 161 of file cRelation.cpp.

bool Relation::RExists const class RefBase   left,
const class QueRefProto   query = EQUERY
[virtual, inherited]
 

Definition at line 135 of file cRelation.cpp.

References ResultBase::Close(), and ResultBase::First().

bool ChainedRelationBase::WriteDDL ofstream &    S,
class Database   Db
[virtual]
 

Implements Relation.

Definition at line 649 of file cChainedRelationBase.cpp.


Friends And Related Function Documentation

friend class ManyToManyRelationBase [friend]
 

Definition at line 30 of file cChainedRelationBase.h.

friend class ManyToOneRelationBase [friend]
 

Definition at line 29 of file cChainedRelationBase.h.

friend class OneToManyRelationBase [friend]
 

Definition at line 28 of file cChainedRelationBase.h.

friend class OneToOneRelationBase [friend]
 

Definition at line 27 of file cChainedRelationBase.h.

friend class QueRefProto [friend]
 

Definition at line 26 of file cChainedRelationBase.h.


Member Data Documentation

class Connection* Relation::_databaseConnection [protected, inherited]
 

Definition at line 38 of file cRelation.h.

Referenced by _Init(), ChainedRelation< L, R >::ChainedRelation(), OneToOneRelationBase::DeleteCouple(), OneToManyRelationBase::DeleteCouple(), ManyToOneRelationBase::DeleteCouple(), ManyToManyRelationBase::DeleteCouple(), ExistsCouple(), ChainedRelation< L, R >::operator-(), ManyToManyRelation< L, R >::operator-(), ManyToOneRelation< L, R >::operator-(), OneToManyRelation< L, R >::operator-(), OneToOneRelation< L, R >::operator-(), ChainedRelation< L, R >::operator=(), ManyToManyRelation< L, R >::operator=(), ManyToOneRelation< L, R >::operator=(), OneToManyRelation< L, R >::operator=(), OneToOneRelation< L, R >::operator=(), and Relation::Relation().

char* ChainedRelationBase::_inner_columns [protected]
 

Definition at line 35 of file cChainedRelationBase.h.

Referenced by _Init(), ChainedRelation< L, R >::ChainedRelation(), ChainedRelationBase(), ExistsCouple(), and ChainedRelation< L, R >::operator=().

Query ChainedRelationBase::_left_query [protected]
 

Definition at line 41 of file cChainedRelationBase.h.

Referenced by ChainedRelation< L, R >::ChainedRelation(), operator *(), and ChainedRelation< L, R >::operator=().

const char* Relation::_leftClassName [protected, inherited]
 

Definition at line 41 of file cRelation.h.

Referenced by _Init(), ManyToOneRelationBase::_TableName(), ChainedRelation< L, R >::ChainedRelation(), OneToOneRelationBase::DeleteCouple(), ManyToOneRelationBase::DeleteCouple(), ExistsCouple(), ManyToManyRelationBase::ManyToManyRelationBase(), ManyToOneRelationBase::ManyToOneRelationBase(), OneToManyRelationBase::OneToManyRelationBase(), ChainedRelation< L, R >::operator=(), ManyToManyRelation< L, R >::operator=(), ManyToOneRelation< L, R >::operator=(), OneToManyRelation< L, R >::operator=(), OneToOneRelation< L, R >::operator=(), and Relation::Relation().

char* Relation::_leftColumnName [protected, inherited]
 

Definition at line 42 of file cRelation.h.

Referenced by _Init(), ChainedRelation< L, R >::ChainedRelation(), ChainedRelationBase(), OneToOneRelationBase::DeleteCouple(), OneToManyRelationBase::DeleteCouple(), ManyToManyRelationBase::DeleteCouple(), ExistsCouple(), ManyToManyRelationBase::ManyToManyRelationBase(), ManyToOneRelationBase::ManyToOneRelationBase(), OneToManyRelationBase::OneToManyRelationBase(), OneToOneRelationBase::OneToOneRelationBase(), ChainedRelation< L, R >::operator-(), ManyToManyRelation< L, R >::operator-(), ManyToOneRelation< L, R >::operator-(), OneToManyRelation< L, R >::operator-(), OneToOneRelation< L, R >::operator-(), ChainedRelation< L, R >::operator=(), ManyToManyRelation< L, R >::operator=(), ManyToOneRelation< L, R >::operator=(), OneToManyRelation< L, R >::operator=(), OneToOneRelation< L, R >::operator=(), Relation::Relation(), and Relation::~Relation().

int ChainedRelationBase::_qnum [protected]
 

Definition at line 39 of file cChainedRelationBase.h.

Referenced by _Init(), ChainedRelation< L, R >::ChainedRelation(), ChainedRelationBase(), and ChainedRelation< L, R >::operator=().

int ChainedRelationBase::_relnum [protected]
 

Definition at line 37 of file cChainedRelationBase.h.

Referenced by _Init(), ChainedRelation< L, R >::ChainedRelation(), ChainedRelationBase(), and ChainedRelation< L, R >::operator=().

Query ChainedRelationBase::_right_query [protected]
 

Definition at line 42 of file cChainedRelationBase.h.

Referenced by ChainedRelation< L, R >::ChainedRelation(), ChainedRelationBase(), operator *(), and ChainedRelation< L, R >::operator=().

const char* Relation::_rightClassName [protected, inherited]
 

Definition at line 43 of file cRelation.h.

Referenced by _Init(), OneToOneRelationBase::_TableName(), OneToManyRelationBase::_TableName(), ChainedRelation< L, R >::ChainedRelation(), ChainedRelationBase(), OneToOneRelationBase::DeleteCouple(), OneToManyRelationBase::DeleteCouple(), ExistsCouple(), ManyToManyRelationBase::ManyToManyRelationBase(), ManyToOneRelationBase::ManyToOneRelationBase(), OneToManyRelationBase::OneToManyRelationBase(), ChainedRelation< L, R >::operator=(), ManyToManyRelation< L, R >::operator=(), ManyToOneRelation< L, R >::operator=(), OneToManyRelation< L, R >::operator=(), OneToOneRelation< L, R >::operator=(), and Relation::Relation().

char* Relation::_rightColumnName [protected, inherited]
 

Definition at line 45 of file cRelation.h.

Referenced by _Init(), ChainedRelation< L, R >::ChainedRelation(), ChainedRelationBase(), OneToOneRelationBase::DeleteCouple(), ManyToOneRelationBase::DeleteCouple(), ManyToManyRelationBase::DeleteCouple(), ExistsCouple(), ManyToManyRelationBase::ManyToManyRelationBase(), ManyToOneRelationBase::ManyToOneRelationBase(), OneToManyRelationBase::OneToManyRelationBase(), OneToOneRelationBase::OneToOneRelationBase(), ChainedRelation< L, R >::operator-(), ManyToManyRelation< L, R >::operator-(), ManyToOneRelation< L, R >::operator-(), OneToManyRelation< L, R >::operator-(), OneToOneRelation< L, R >::operator-(), ChainedRelation< L, R >::operator=(), ManyToManyRelation< L, R >::operator=(), ManyToOneRelation< L, R >::operator=(), OneToManyRelation< L, R >::operator=(), OneToOneRelation< L, R >::operator=(), Relation::Relation(), and Relation::~Relation().

char* Relation::_tableName [protected, inherited]
 

Definition at line 44 of file cRelation.h.

Referenced by _Init(), ChainedRelation< L, R >::ChainedRelation(), ChainedRelationBase(), ManyToManyRelationBase::DeleteCouple(), ExistsCouple(), ManyToManyRelationBase::ManyToManyRelationBase(), ManyToOneRelationBase::ManyToOneRelationBase(), OneToManyRelationBase::OneToManyRelationBase(), OneToOneRelationBase::OneToOneRelationBase(), ChainedRelation< L, R >::operator-(), ManyToManyRelation< L, R >::operator-(), ManyToOneRelation< L, R >::operator-(), OneToManyRelation< L, R >::operator-(), OneToOneRelation< L, R >::operator-(), ChainedRelation< L, R >::operator=(), ManyToManyRelation< L, R >::operator=(), ManyToOneRelation< L, R >::operator=(), OneToManyRelation< L, R >::operator=(), OneToOneRelation< L, R >::operator=(), Relation::Relation(), and Relation::~Relation().


The documentation for this class was generated from the following files:
Generated on Sun Jul 14 20:52:53 2002 for POLiTe by doxygen1.2.16