_response = $response; $this->_resultSets = $resultSets; } /** * @return array|\Elastica\ResultSet[] */ public function getResultSets() { return $this->_resultSets; } /** * Returns response object. * * @return \Elastica\Response Response object */ public function getResponse() { return $this->_response; } /** * There is at least one result set with error. * * @return bool */ public function hasError() { foreach ($this->getResultSets() as $resultSet) { if ($resultSet->getResponse()->hasError()) { return true; } } return false; } /** * @return \Elastica\ResultSet */ public function current() { return $this->_resultSets[$this->key()]; } public function next() { ++$this->_position; } /** * @return int */ public function key() { return $this->_position; } /** * @return bool */ public function valid() { return isset($this->_resultSets[$this->key()]); } public function rewind() { $this->_position = 0; } /** * @return int */ public function count() { return count($this->_resultSets); } /** * @param string|int $offset * * @return bool true on success or false on failure */ public function offsetExists($offset) { return isset($this->_resultSets[$offset]); } /** * @param mixed $offset * * @return mixed can return all value types */ public function offsetGet($offset) { return $this->_resultSets[$offset] ?? null; } /** * @param mixed $offset * @param mixed $value */ public function offsetSet($offset, $value) { if (is_null($offset)) { $this->_resultSets[] = $value; } else { $this->_resultSets[$offset] = $value; } } /** * @param mixed $offset */ public function offsetUnset($offset) { unset($this->_resultSets[$offset]); } }