OqlWhereParser.class.php

Go to the documentation of this file.
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 
00012     final class OqlWhereParser extends OqlParser
00013     {
00017         public static function create()
00018         {
00019             return new self;
00020         }
00021         
00025         protected function makeOqlObject()
00026         {
00027             return OqlWhereClause::create();
00028         }
00029         
00030         protected function handleState()
00031         {
00032             if ($this->state == self::INITIAL_STATE) {
00033                 $argument = $this->getLogicExpression();
00034                 if ($argument instanceof OqlQueryExpression)
00035                     $this->oqlObject->setExpression($argument);
00036                 else
00037                     $this->error("expecting 'where' expression");
00038             }
00039             
00040             return self::FINAL_STATE;
00041         }
00042     }
00043 ?>