<?php
declare(strict_types = 1);
namespace DASPRiD\Enum;
use DASPRiD\Enum\Exception\CloneNotSupportedException;
use DASPRiD\Enum\Exception\SerializeNotSupportedException;
use DASPRiD\Enum\Exception\UnserializeNotSupportedException;
final class NullValue
{
private static $instance;
private function __construct()
{
}
public static function instance() : self
{
return self::$instance ?: self::$instance = new self();
}
final public function __clone()
{
throw new CloneNotSupportedException();
}
final public function __sleep() : array
{
throw new SerializeNotSupportedException();
}
final public function __wakeup() : void
{
throw new UnserializeNotSupportedException();
}
}