Files
conservatorio-tomadini/libraries/vendor/web-token/jwt-library/KeyManagement/Analyzer/Message.php
2024-12-17 17:34:10 +01:00

71 lines
1.4 KiB
PHP

<?php
declare(strict_types=1);
namespace Jose\Component\KeyManagement\Analyzer;
use JsonSerializable;
class Message implements JsonSerializable
{
final public const SEVERITY_LOW = 'low';
final public const SEVERITY_MEDIUM = 'medium';
final public const SEVERITY_HIGH = 'high';
private function __construct(
private readonly string $message,
private readonly string $severity
) {
}
/**
* Creates a message with severity=low.
*/
public static function low(string $message): self
{
return new self($message, self::SEVERITY_LOW);
}
/**
* Creates a message with severity=medium.
*/
public static function medium(string $message): self
{
return new self($message, self::SEVERITY_MEDIUM);
}
/**
* Creates a message with severity=high.
*/
public static function high(string $message): self
{
return new self($message, self::SEVERITY_HIGH);
}
/**
* Returns the message.
*/
public function getMessage(): string
{
return $this->message;
}
/**
* Returns the severity of the message.
*/
public function getSeverity(): string
{
return $this->severity;
}
public function jsonSerialize(): array
{
return [
'message' => $this->message,
'severity' => $this->severity,
];
}
}