match[$offset]); } public function offsetGet($offset): ?string { return array_key_exists($offset, $this->match) ? $this->match[$offset] : null; } public function offsetSet($offset, $value): void { if ($offset === null) { $this->match[] = $value; } else { $this->match[$offset] = $value; } } public function offsetUnset($offset): void { unset($this->match[$offset]); } /** * Get the result of a performed ticket match * * @return array */ public function getMatch() { return $this->match; } /** * Set the result of a performed ticket match * * @param array $match * * @return $this */ public function setMatch(array $match) { $this->match = $match; return $this; } /** * Get the name of the TTS integration * * @return string */ public function getName() { return $this->name; } /** * Set the name of the TTS integration * * @param string $name * * @return $this */ public function setName($name) { $this->name = $name; return $this; } /** * Get the ticket pattern * * @return string */ public function getPattern() { return $this->pattern; } /** * Set the ticket pattern * * @param string $pattern * * @return $this */ public function setPattern($pattern) { $this->pattern = $pattern; return $this; } /** * Whether the integration is properly configured, i.e. the pattern and the URL are not empty * * @return bool */ public function isValid() { return ! empty($this->pattern); } }