# 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 ?>