Go to the documentation of this file.00001 <?php
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012 final class OqlGroupByParser extends OqlParser
00013 {
00014 const CLASS_NAME = 'GroupByPropertyProjection';
00015
00019 public static function create()
00020 {
00021 return new self;
00022 }
00023
00027 protected function makeOqlObject()
00028 {
00029 return OqlProjectionClause::create();
00030 }
00031
00032 protected function handleState()
00033 {
00034 if ($this->state == self::INITIAL_STATE) {
00035 $list = $this->getCommaSeparatedList(
00036 array($this, 'getLogicExpression'),
00037 "expecting expression in 'group by' clause"
00038 );
00039
00040 foreach ($list as $argument) {
00041 $this->oqlObject->add(
00042 $this->makeQueryExpression(self::CLASS_NAME, $argument)
00043 );
00044 }
00045 }
00046
00047 return self::FINAL_STATE;
00048 }
00049 }
00050 ?>