PluginProbe
Media Cloud Sync / 1.2.0
Media Cloud Sync v1.2.0
1.4.2 1.4.1 1.4.0 1.3.12 1.3.11 1.3.10 trunk 1.0.0 1.0.1 1.0.2 1.0.3 1.1.0 1.1.1 1.2.0 1.2.10 1.2.11 1.2.12 1.2.13 1.2.2 1.2.3 1.2.4 1.2.5 1.2.6 1.2.7 1.2.8 All 36 releases
media-cloud-sync / includes / sdk / google / ramsey / uuid / src / Rfc4122 / FieldsInterface.php

FieldsInterface.php in Media Cloud Sync 1.2.0, at includes/sdk/google/ramsey/uuid/src/Rfc4122/FieldsInterface.php

114 lines 3.8 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
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 <[email protected]>
10 * @license http://opensource.org/licenses/MIT MIT
11 */
12 declare (strict_types=1);
13 namespace Dudlewebs\WPMCS\Ramsey\Uuid\Rfc4122;
14
15 use Dudlewebs\WPMCS\Ramsey\Uuid\Fields\FieldsInterface as BaseFieldsInterface;
16 use Dudlewebs\WPMCS\Ramsey\Uuid\Type\Hexadecimal;
17 /**
18 * RFC 4122 defines fields for a specific variant of UUID
19 *
20 * The fields of an RFC 4122 variant UUID are:
21 *
22 * * **time_low**: The low field of the timestamp, an unsigned 32-bit integer
23 * * **time_mid**: The middle field of the timestamp, an unsigned 16-bit integer
24 * * **time_hi_and_version**: The high field of the timestamp multiplexed with
25 * the version number, an unsigned 16-bit integer
26 * * **clock_seq_hi_and_reserved**: The high field of the clock sequence
27 * multiplexed with the variant, an unsigned 8-bit integer
28 * * **clock_seq_low**: The low field of the clock sequence, an unsigned
29 * 8-bit integer
30 * * **node**: The spatially unique node identifier, an unsigned 48-bit
31 * integer
32 *
33 * @link http://tools.ietf.org/html/rfc4122#section-4.1 RFC 4122, § 4.1: Format
34 *
35 * @psalm-immutable
36 */
37 interface FieldsInterface extends BaseFieldsInterface
38 {
39 /**
40 * Returns the full 16-bit clock sequence, with the variant bits (two most
41 * significant bits) masked out
42 */
43 public function getClockSeq(): Hexadecimal;
44 /**
45 * Returns the high field of the clock sequence multiplexed with the variant
46 */
47 public function getClockSeqHiAndReserved(): Hexadecimal;
48 /**
49 * Returns the low field of the clock sequence
50 */
51 public function getClockSeqLow(): Hexadecimal;
52 /**
53 * Returns the node field
54 */
55 public function getNode(): Hexadecimal;
56 /**
57 * Returns the high field of the timestamp multiplexed with the version
58 */
59 public function getTimeHiAndVersion(): Hexadecimal;
60 /**
61 * Returns the low field of the timestamp
62 */
63 public function getTimeLow(): Hexadecimal;
64 /**
65 * Returns the middle field of the timestamp
66 */
67 public function getTimeMid(): Hexadecimal;
68 /**
69 * Returns the full 60-bit timestamp, without the version
70 */
71 public function getTimestamp(): Hexadecimal;
72 /**
73 * Returns the variant
74 *
75 * The variant number describes the layout of the UUID. The variant
76 * number has the following meaning:
77 *
78 * - 0 - Reserved for NCS backward compatibility
79 * - 2 - The RFC 4122 variant
80 * - 6 - Reserved, Microsoft Corporation backward compatibility
81 * - 7 - Reserved for future definition
82 *
83 * For RFC 4122 variant UUIDs, this value should always be the integer `2`.
84 *
85 * @link http://tools.ietf.org/html/rfc4122#section-4.1.1 RFC 4122, § 4.1.1: Variant
86 */
87 public function getVariant(): int;
88 /**
89 * Returns the version
90 *
91 * The version number describes how the UUID was generated and has the
92 * following meaning:
93 *
94 * 1. Time-based UUID
95 * 2. DCE security UUID
96 * 3. Name-based UUID hashed with MD5
97 * 4. Randomly generated UUID
98 * 5. Name-based UUID hashed with SHA-1
99 *
100 * This returns `null` if the UUID is not an RFC 4122 variant, since version
101 * is only meaningful for this variant.
102 *
103 * @link http://tools.ietf.org/html/rfc4122#section-4.1.3 RFC 4122, § 4.1.3: Version
104 */
105 public function getVersion(): ?int;
106 /**
107 * Returns true if these fields represent a nil UUID
108 *
109 * The nil UUID is special form of UUID that is specified to have all 128
110 * bits set to zero.
111 */
112 public function isNil(): bool;
113 }
114