98 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			98 lines
		
	
	
		
			1.8 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
declare(strict_types=1);
 | 
						|
 | 
						|
/*
 | 
						|
 * The MIT License (MIT)
 | 
						|
 *
 | 
						|
 * Copyright (c) 2014-2020 Spomky-Labs
 | 
						|
 *
 | 
						|
 * This software may be modified and distributed under the terms
 | 
						|
 * of the MIT license.  See the LICENSE file for details.
 | 
						|
 */
 | 
						|
 | 
						|
namespace Jose\Component\KeyManagement\Analyzer;
 | 
						|
 | 
						|
use JsonSerializable;
 | 
						|
 | 
						|
class Message implements JsonSerializable
 | 
						|
{
 | 
						|
    public const SEVERITY_LOW = 'low';
 | 
						|
 | 
						|
    public const SEVERITY_MEDIUM = 'medium';
 | 
						|
 | 
						|
    public const SEVERITY_HIGH = 'high';
 | 
						|
    /**
 | 
						|
     * @var string
 | 
						|
     */
 | 
						|
    private $message;
 | 
						|
 | 
						|
    /**
 | 
						|
     * @var string
 | 
						|
     */
 | 
						|
    private $severity;
 | 
						|
 | 
						|
    /**
 | 
						|
     * Message constructor.
 | 
						|
     */
 | 
						|
    private function __construct(string $message, string $severity)
 | 
						|
    {
 | 
						|
        $this->message = $message;
 | 
						|
        $this->severity = $severity;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Creates a message with severity=low.
 | 
						|
     *
 | 
						|
     * @return Message
 | 
						|
     */
 | 
						|
    public static function low(string $message): self
 | 
						|
    {
 | 
						|
        return new self($message, self::SEVERITY_LOW);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Creates a message with severity=medium.
 | 
						|
     *
 | 
						|
     * @return Message
 | 
						|
     */
 | 
						|
    public static function medium(string $message): self
 | 
						|
    {
 | 
						|
        return new self($message, self::SEVERITY_MEDIUM);
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * Creates a message with severity=high.
 | 
						|
     *
 | 
						|
     * @return Message
 | 
						|
     */
 | 
						|
    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,
 | 
						|
        ];
 | 
						|
    }
 | 
						|
}
 |