1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129
<?php
namespace Basho\Riak\Command\Indexes;
use Basho\Riak\Command;
use Basho\Riak\CommandInterface;
class Query extends Command implements CommandInterface
{
protected $indexName = NULL;
protected $match = NULL;
protected $lowerBound = NULL;
protected $upperBound = NULL;
protected $isMatchQuery = false;
protected $isRangeQuery = false;
protected $response = NULL;
public function __construct(Command\Builder\QueryIndex $builder)
{
parent::__construct($builder);
$this->bucket = $builder->getBucket();
$this->indexName = $builder->getIndexName();
if($builder->isRangeQuery()) {
$this->lowerBound = $builder->getLowerBound();
$this->upperBound = $builder->getUpperBound();
$this->isRangeQuery = true;
}
else {
$this->match = $builder->getMatchValue();
$this->isMatchQuery = true;
}
$continuation = $builder->getContinuation();
if(!empty($continuation)) {
$this->parameters['continuation'] = $continuation;
}
$maxResults = $builder->getMaxResults();
if(!empty($maxResults)) {
$this->parameters['max_results'] = $maxResults;
}
$returnTerms = $builder->getReturnTerms();
if(!empty($returnTerms)) {
$this->parameters['return_terms'] = ($returnTerms) ? 'true' : 'false';
}
$paginationSort = $builder->getPaginationSort();
if(!empty($paginationSort)) {
$this->parameters['pagination_sort'] = ($paginationSort) ? 'true' : 'false';
}
$termRegex = $builder->getTermFilter();
if(!empty($termRegex)) {
$this->parameters['term_regex'] = $termRegex;
}
$timeout = $builder->getTimeout();
if(!empty($timeout)) {
$this->parameters['timeout'] = $timeout;
}
}
public function getIndexName() {
return $this->indexName;
}
public function getMatchValue() {
return $this->match;
}
public function getLowerBound() {
return $this->lowerBound;
}
public function getUpperBound() {
return $this->upperBound;
}
public function isMatchQuery()
{
return $this->isMatchQuery;
}
public function isRangeQuery()
{
return $this->isRangeQuery;
}
public function hasParameters()
{
return true;
}
public function execute()
{
return parent::execute();
}
public function getData()
{
return '';
}
public function getEncodedData()
{
return '';
}
}