m_iPos = $iPos; $this->m_sValue = $sValue; } public function GetValue() { return $this->m_sValue; } public function GetPos() { return $this->m_iPos; } public function __toString() { return $this->m_sValue; } } class OqlJoinSpec { protected $m_oClass; protected $m_oClassAlias; protected $m_oLeftField; protected $m_oRightField; protected $m_oNextJoinspec; public function __construct($oClass, $oClassAlias, BinaryExpression $oExpression) { $this->m_oClass = $oClass; $this->m_oClassAlias = $oClassAlias; $this->m_oLeftField = $oExpression->GetLeftExpr(); $this->m_oRightField = $oExpression->GetRightExpr(); } public function GetClass() { return $this->m_oClass->GetValue(); } public function GetClassAlias() { return $this->m_oClassAlias->GetValue(); } public function GetClassDetails() { return $this->m_oClass; } public function GetClassAliasDetails() { return $this->m_oClassAlias; } public function GetLeftField() { return $this->m_oLeftField; } public function GetRightField() { return $this->m_oRightField; } } class BinaryOqlExpression extends BinaryExpression { } class ScalarOqlExpression extends ScalarExpression { } class FieldOqlExpression extends FieldExpression { protected $m_oParent; protected $m_oName; public function __construct($oName, $oParent = null) { if (is_null($oParent)) { $oParent = new OqlName('', 0); } $this->m_oParent = $oParent; $this->m_oName = $oName; parent::__construct($oName->GetValue(), $oParent->GetValue()); } public function GetParentDetails() { return $this->m_oParent; } public function GetNameDetails() { return $this->m_oName; } } class ListOqlExpression extends ListExpression { } class FunctionOqlExpression extends FunctionExpression { } class IntervalOqlExpression extends IntervalExpression { } class OqlQuery { protected $m_oClass; protected $m_oClassAlias; protected $m_aJoins; // array of OqlJoinSpec protected $m_oCondition; // condition tree (expressions) public function __construct($oClass, $oClassAlias = '', $oCondition = null, $aJoins = null) { $this->m_oClass = $oClass; $this->m_oClassAlias = $oClassAlias; $this->m_aJoins = $aJoins; $this->m_oCondition = $oCondition; } public function GetClass() { return $this->m_oClass->GetValue(); } public function GetClassAlias() { return $this->m_oClassAlias->GetValue(); } public function GetClassDetails() { return $this->m_oClass; } public function GetClassAliasDetails() { return $this->m_oClassAlias; } public function GetJoins() { return $this->m_aJoins; } public function GetCondition() { return $this->m_oCondition; } } ?>