00001 <?php 00002 /**************************************************************************** 00003 * Copyright (C) 2009 by Vladlen Y. Koshelev * 00004 * * 00005 * This program is free software; you can redistribute it and/or modify * 00006 * it under the terms of the GNU Lesser General Public License as * 00007 * published by the Free Software Foundation; either version 3 of the * 00008 * License, or (at your option) any later version. * 00009 * * 00010 ****************************************************************************/ 00011 00015 abstract class OqlQueryExpressionClause extends OqlQueryClause 00016 { 00017 protected $expression = null; 00018 00022 public function getExpression() 00023 { 00024 return $this->expression; 00025 } 00026 00030 public function setExpression(OqlQueryExpression $expression) 00031 { 00032 $this->checkExpression($expression); 00033 $this->expression = $expression; 00034 00035 return $this; 00036 } 00037 00038 public function toLogic() 00039 { 00040 Assert::isNotNull($this->expression); 00041 00042 return $this->expression->evaluate($this->parameters); 00043 } 00044 00045 protected static function checkExpression(OqlQueryExpression $expression) 00046 { 00047 } 00048 } 00049 ?>