setMessage($message) ->setCode($code) ->setData($data); } /** * Set error code * * @param int $code * @return \Zend\Json\Server\Error */ public function setCode($code) { if (!is_scalar($code)) { return $this; } $code = (int) $code; if (in_array($code, $this->allowedCodes)) { $this->code = $code; } elseif (in_array($code, range(-32099, -32000))) { $this->code = $code; } return $this; } /** * Get error code * * @return int|null */ public function getCode() { return $this->code; } /** * Set error message * * @param string $message * @return \Zend\Json\Server\Error */ public function setMessage($message) { if (!is_scalar($message)) { return $this; } $this->message = (string) $message; return $this; } /** * Get error message * * @return string */ public function getMessage() { return $this->message; } /** * Set error data * * @param mixed $data * @return \Zend\Json\Server\Error */ public function setData($data) { $this->data = $data; return $this; } /** * Get error data * * @return mixed */ public function getData() { return $this->data; } /** * Cast error to array * * @return array */ public function toArray() { return array( 'code' => $this->getCode(), 'message' => $this->getMessage(), 'data' => $this->getData(), ); } /** * Cast error to JSON * * @return string */ public function toJson() { return \Zend\Json\Json::encode($this->toArray()); } /** * Cast to string (JSON) * * @return string */ public function __toString() { return $this->toJson(); } }