array( self::HOST_UP, self::HOST_DOWN, self::HOST_UNREACHABLE ), self::TYPE_SERVICE => array( self::SERVICE_OK, self::SERVICE_WARNING, self::SERVICE_CRITICAL, self::SERVICE_UNKNOWN ) ); /** * Status code of the host or service check result * * @var int */ protected $status; /** * Text output of the host or service check result * * @var string */ protected $output; /** * Optional performance data of the host or service check result * * @var string */ protected $performanceData; /** * Set the status code of the host or service check result * * @param int $status * * @return $this * * @throws LogicException If the object is null * @throws InvalidArgumentException If status is not one of the valid status codes for the object's type */ public function setStatus($status) { if ($this->object === null) { throw new LogicException('You\'re required to call setObject() before calling setStatus()'); } $status = (int) $status; if (! in_array($status, self::$statusCodes[$this->object->getType()])) { throw new InvalidArgumentException(sprintf( 'The status code %u you provided is not one of the valid status codes for type %s', $status, $this->object->getType() )); } $this->status = $status; return $this; } /** * Get the status code of the host or service check result * * @return int */ public function getStatus() { return $this->status; } /** * Set the text output of the host or service check result * * @param string $output * * @return $this */ public function setOutput($output) { $this->output = (string) $output; return $this; } /** * Get the text output of the host or service check result * * @return string */ public function getOutput() { return $this->output; } /** * Set the performance data of the host or service check result * * @param string $performanceData * * @return $this */ public function setPerformanceData($performanceData) { $this->performanceData = (string) $performanceData; return $this; } /** * Get the performance data of the host or service check result * * @return string */ public function getPerformanceData() { return $this->performanceData; } }