Kexi API Documentation (2.0 alpha)

KexiDB::BaseExpr Class Reference

#include <expression.h>

Inheritance diagram for KexiDB::BaseExpr:

KexiDB::BinaryExpr KexiDB::ConstExpr KexiDB::FunctionExpr KexiDB::NArgExpr KexiDB::UnaryExpr KexiDB::VariableExpr KexiDB::QueryParameterExpr List of all members.

Detailed Description

A base class for all expressions.

Definition at line 62 of file expression.h.

Public Types

typedef QPtrList< BaseExprList
typedef QPtrListIterator<
BaseExpr
ListIterator

Public Member Functions

 BaseExpr (int token)
virtual ~BaseExpr ()
int token () const
virtual Field::Type type ()
BaseExprparent () const
virtual void setParent (BaseExpr *p)
virtual bool validate (ParseInfo &parseInfo)
virtual QString toString (QuerySchemaParameterValueListIterator *params=0)=0
virtual void getQueryParameters (QuerySchemaParameterList &params)=0
void debug ()
virtual QString debugString ()
QString tokenToDebugString ()
virtual QString tokenToString ()
int exprClass () const
NArgExprtoNArg ()
UnaryExprtoUnary ()
BinaryExprtoBinary ()
ConstExprtoConst ()
VariableExprtoVariable ()
FunctionExprtoFunction ()
QueryParameterExprtoQueryParameter ()

Static Public Member Functions

static QString tokenToDebugString (int token)

Protected Attributes

int m_cl
 class
BaseExprm_par
 parent expression
int m_token


Member Typedef Documentation

typedef QPtrList<BaseExpr> KexiDB::BaseExpr::List
 

Definition at line 65 of file expression.h.

typedef QPtrListIterator<BaseExpr> KexiDB::BaseExpr::ListIterator
 

Definition at line 66 of file expression.h.


Constructor & Destructor Documentation

BaseExpr::BaseExpr int  token  ) 
 

Definition at line 67 of file expression.cpp.

BaseExpr::~BaseExpr  )  [virtual]
 

Definition at line 75 of file expression.cpp.


Member Function Documentation

void KexiDB::BaseExpr::debug  )  [inline]
 

Definition at line 90 of file expression.h.

References KexiDBDbg.

QString BaseExpr::debugString  )  [virtual]
 

Reimplemented in KexiDB::NArgExpr, KexiDB::UnaryExpr, KexiDB::BinaryExpr, KexiDB::ConstExpr, KexiDB::QueryParameterExpr, KexiDB::VariableExpr, and KexiDB::FunctionExpr.

Definition at line 84 of file expression.cpp.

References KexiDB::Driver::defaultSQLTypeName(), m_token, and type().

Referenced by KexiQueryDesignerGuiEditor::buildSchema(), KexiDB::Field::debugString(), KexiDB::BinaryExpr::debugString(), and KexiDB::UnaryExpr::debugString().

int KexiDB::BaseExpr::exprClass  )  const [inline]
 

Definition at line 103 of file expression.h.

Referenced by addColumn(), buildSelectQuery(), and KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal().

virtual void KexiDB::BaseExpr::getQueryParameters QuerySchemaParameterList params  )  [pure virtual]
 

Collects query parameters (messages and types) reculsively and saves them to params. The leaf nodes are objects of QueryParameterExpr class.

Implemented in KexiDB::NArgExpr, KexiDB::UnaryExpr, KexiDB::BinaryExpr, KexiDB::ConstExpr, KexiDB::QueryParameterExpr, KexiDB::VariableExpr, and KexiDB::FunctionExpr.

Referenced by KexiDB::BinaryExpr::getQueryParameters(), and KexiDB::UnaryExpr::getQueryParameters().

BaseExpr* KexiDB::BaseExpr::parent  )  const [inline]
 

Definition at line 75 of file expression.h.

Referenced by KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal().

virtual void KexiDB::BaseExpr::setParent BaseExpr p  )  [inline, virtual]
 

Definition at line 77 of file expression.h.

Referenced by KexiDB::BinaryExpr::BinaryExpr(), KexiDB::FunctionExpr::FunctionExpr(), and KexiDB::UnaryExpr::UnaryExpr().

BinaryExpr * BaseExpr::toBinary  ) 
 

Definition at line 117 of file expression.cpp.

Referenced by buildSelectQuery(), and KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal().

ConstExpr * BaseExpr::toConst  ) 
 

Definition at line 118 of file expression.cpp.

FunctionExpr * BaseExpr::toFunction  ) 
 

Definition at line 120 of file expression.cpp.

int KexiDB::BaseExpr::token  )  const [inline]
 

Definition at line 71 of file expression.h.

Referenced by buildSelectQuery(), and KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal().

QString BaseExpr::tokenToDebugString int  token  )  [static]
 

Definition at line 97 of file expression.cpp.

References safe_tname.

QString KexiDB::BaseExpr::tokenToDebugString  )  [inline]
 

Returns:
single character if the token is < 256 or token name, e.g. LESS_OR_EQUAL (for debugging).

Definition at line 96 of file expression.h.

Referenced by KexiDB::ConstExpr::debugString(), KexiDB::BinaryExpr::debugString(), KexiDB::UnaryExpr::debugString(), KexiDB::BinaryExpr::tokenToString(), tokenToString(), and KexiDB::UnaryExpr::toString().

QString BaseExpr::tokenToString  )  [virtual]
 

Returns:
string for token, like "<=" or ">"

Reimplemented in KexiDB::BinaryExpr.

Definition at line 108 of file expression.cpp.

References m_token, and tokenToDebugString().

NArgExpr * BaseExpr::toNArg  ) 
 

Convenience type casts.

Definition at line 115 of file expression.cpp.

QueryParameterExpr * BaseExpr::toQueryParameter  ) 
 

Definition at line 121 of file expression.cpp.

Referenced by KexiDB::BinaryExpr::validate(), and KexiDB::UnaryExpr::validate().

virtual QString KexiDB::BaseExpr::toString QuerySchemaParameterValueListIterator params = 0  )  [pure virtual]
 

Returns:
string as a representation of this expression element by running recursive calls. param, if not 0, points to a list item containing value of a query parameter (used in QueryParameterExpr).

Implemented in KexiDB::NArgExpr, KexiDB::UnaryExpr, KexiDB::BinaryExpr, KexiDB::ConstExpr, KexiDB::QueryParameterExpr, KexiDB::VariableExpr, and KexiDB::FunctionExpr.

Referenced by buildSelectQuery(), KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal(), KexiQueryDesignerGuiEditor::slotBeforeCellChanged(), and KexiDB::UnaryExpr::toString().

UnaryExpr * BaseExpr::toUnary  ) 
 

Definition at line 116 of file expression.cpp.

Referenced by KexiQueryDesignerGuiEditor::showFieldsOrRelationsForQueryInternal().

VariableExpr * BaseExpr::toVariable  ) 
 

Definition at line 119 of file expression.cpp.

Referenced by addColumn(), buildSelectQuery(), and KexiQueryDesignerGuiEditor::parseExpressionString().

Field::Type BaseExpr::type  )  [virtual]
 

Reimplemented in KexiDB::UnaryExpr, KexiDB::BinaryExpr, KexiDB::ConstExpr, KexiDB::QueryParameterExpr, KexiDB::VariableExpr, and KexiDB::FunctionExpr.

Definition at line 79 of file expression.cpp.

References KexiDB::Field::InvalidType.

Referenced by debugString(), KexiDB::Field::type(), KexiDB::BinaryExpr::type(), KexiDB::UnaryExpr::type(), and KexiDB::BinaryExpr::validate().

bool BaseExpr::validate ParseInfo parseInfo  )  [virtual]
 

Reimplemented in KexiDB::NArgExpr, KexiDB::UnaryExpr, KexiDB::BinaryExpr, KexiDB::ConstExpr, KexiDB::QueryParameterExpr, KexiDB::VariableExpr, and KexiDB::FunctionExpr.

Definition at line 89 of file expression.cpp.

Referenced by addColumn(), KexiDB::FunctionExpr::validate(), KexiDB::VariableExpr::validate(), KexiDB::ConstExpr::validate(), KexiDB::BinaryExpr::validate(), KexiDB::UnaryExpr::validate(), and KexiDB::NArgExpr::validate().


Member Data Documentation

int KexiDB::BaseExpr::m_cl [protected]
 

class

Definition at line 115 of file expression.h.

Referenced by KexiDB::BinaryExpr::BinaryExpr(), KexiDB::ConstExpr::ConstExpr(), KexiDB::BinaryExpr::debugString(), KexiDB::NArgExpr::debugString(), KexiDB::FunctionExpr::FunctionExpr(), KexiDB::NArgExpr::NArgExpr(), KexiDB::QueryParameterExpr::QueryParameterExpr(), KexiDB::UnaryExpr::UnaryExpr(), and KexiDB::VariableExpr::VariableExpr().

BaseExpr* KexiDB::BaseExpr::m_par [protected]
 

parent expression

Definition at line 116 of file expression.h.

int KexiDB::BaseExpr::m_token [protected]
 

Definition at line 117 of file expression.h.

Referenced by debugString(), KexiDB::BinaryExpr::tokenToString(), tokenToString(), KexiDB::ConstExpr::toString(), KexiDB::UnaryExpr::toString(), KexiDB::ConstExpr::type(), KexiDB::BinaryExpr::type(), and KexiDB::UnaryExpr::type().


The documentation for this class was generated from the following files:
KDE Logo
This file is part of the documentation for Kexi 2.0 alpha.
Documentation copyright © 2002-2007 the Kexi Team.
Generated on Tue Apr 1 20:50:43 2008 by doxygen 1.4.2 written by Dimitri van Heesch, © 1997-2003