示例#1
0
 /**
  * Creates new instance of QueryProcessor
  * 
  * @param RequestDescription &$requestDescription Description of the request 
  *                                                submitted by client.
  * @param DataService        &$dataService        Reference to the data service.
  */
 private function __construct(RequestDescription &$requestDescription, DataService &$dataService)
 {
     $this->_requestDescription = $requestDescription;
     $this->_dataService = $dataService;
     $requestTargetKind = $requestDescription->getTargetKind();
     $isSingleResult = $requestDescription->isSingleResult();
     $requestCountOption = $requestDescription->getRequestCountOption();
     $this->_setQueryApplicable = $requestTargetKind == RequestTargetKind::RESOURCE && !$isSingleResult || $requestCountOption == RequestCountOption::VALUE_ONLY;
     $this->_pagingApplicable = $this->_requestDescription->getTargetKind() == RequestTargetKind::RESOURCE && !$this->_requestDescription->isSingleResult() && $requestCountOption != RequestCountOption::VALUE_ONLY;
     $targetResourceType = $this->_requestDescription->getTargetResourceType();
     $targetResourceSetWrapper = $this->_requestDescription->getTargetResourceSetWrapper();
     $this->_expandSelectApplicable = !is_null($targetResourceType) && !is_null($targetResourceSetWrapper) && $targetResourceType->getResourceTypeKind() == ResourceTypeKind::ENTITY && !$this->_requestDescription->isLinkUri();
 }