Subversion-Projekte lars-tiefland.laravel_shop

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
148 lars 1
<?php
2
 
3
/**
4
 * This file is part of the ramsey/uuid library
5
 *
6
 * For the full copyright and license information, please view the LICENSE
7
 * file that was distributed with this source code.
8
 *
9
 * @copyright Copyright (c) Ben Ramsey <ben@benramsey.com>
10
 * @license http://opensource.org/licenses/MIT MIT
11
 */
12
 
13
declare(strict_types=1);
14
 
15
namespace Ramsey\Uuid\Rfc4122;
16
 
17
/**
18
 * Provides common functionality for max UUIDs
19
 *
20
 * The max UUID is special form of UUID that is specified to have all 128 bits
21
 * set to one. It is the inverse of the nil UUID.
22
 *
23
 * @link https://datatracker.ietf.org/doc/html/draft-ietf-uuidrev-rfc4122bis-00#section-5.10 Max UUID
24
 *
25
 * @psalm-immutable
26
 */
27
trait MaxTrait
28
{
29
    /**
30
     * Returns the bytes that comprise the fields
31
     */
32
    abstract public function getBytes(): string;
33
 
34
    /**
35
     * Returns true if the byte string represents a max UUID
36
     */
37
    public function isMax(): bool
38
    {
39
        return $this->getBytes() === "\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff";
40
    }
41
}