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\Codec;
16
 
17
use Ramsey\Uuid\UuidInterface;
18
 
19
/**
20
 * A codec encodes and decodes a UUID according to defined rules
21
 *
22
 * @psalm-immutable
23
 */
24
interface CodecInterface
25
{
26
    /**
27
     * Returns a hexadecimal string representation of a UuidInterface
28
     *
29
     * @param UuidInterface $uuid The UUID for which to create a hexadecimal
30
     *     string representation
31
     *
32
     * @return string Hexadecimal string representation of a UUID
33
     *
34
     * @psalm-return non-empty-string
35
     */
36
    public function encode(UuidInterface $uuid): string;
37
 
38
    /**
39
     * Returns a binary string representation of a UuidInterface
40
     *
41
     * @param UuidInterface $uuid The UUID for which to create a binary string
42
     *     representation
43
     *
44
     * @return string Binary string representation of a UUID
45
     *
46
     * @psalm-return non-empty-string
47
     */
48
    public function encodeBinary(UuidInterface $uuid): string;
49
 
50
    /**
51
     * Returns a UuidInterface derived from a hexadecimal string representation
52
     *
53
     * @param string $encodedUuid The hexadecimal string representation to
54
     *     convert into a UuidInterface instance
55
     *
56
     * @return UuidInterface An instance of a UUID decoded from a hexadecimal
57
     *     string representation
58
     */
59
    public function decode(string $encodedUuid): UuidInterface;
60
 
61
    /**
62
     * Returns a UuidInterface derived from a binary string representation
63
     *
64
     * @param string $bytes The binary string representation to convert into a
65
     *     UuidInterface instance
66
     *
67
     * @return UuidInterface An instance of a UUID decoded from a binary string
68
     *     representation
69
     */
70
    public function decodeBytes(string $bytes): UuidInterface;
71
}