PluginProbe
Media Cloud Sync / 1.4.2
Media Cloud Sync v1.4.2
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.4.2, at includes/sdk/google/ramsey/uuid/src/Rfc4122/FieldsInterface.php

118 lines 4.3 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\GCP\Ramsey\Uuid\Rfc4122;
14
15 use Dudlewebs\WPMCS\GCP\Ramsey\Uuid\Fields\FieldsInterface as BaseFieldsInterface;
16 use Dudlewebs\WPMCS\GCP\Ramsey\Uuid\Type\Hexadecimal;
17 /**
18 * UUID fields, as defined by RFC 4122
19 *
20 * This interface defines the fields of an RFC 4122 variant UUID. Since RFC 9562 removed the concept of fields and
21 * instead defined layouts that are specific to a given version, this interface is a legacy artifact of the earlier, and
22 * now obsolete, RFC 4122.
23 *
24 * The fields of an RFC 4122 variant UUID are:
25 *
26 * * **time_low**: The low field of the timestamp, an unsigned 32-bit integer
27 * * **time_mid**: The middle field of the timestamp, an unsigned 16-bit integer
28 * * **time_hi_and_version**: The high field of the timestamp multiplexed with the version number, an unsigned 16-bit integer
29 * * **clock_seq_hi_and_reserved**: The high field of the clock sequence multiplexed with the variant, an unsigned 8-bit integer
30 * * **clock_seq_low**: The low field of the clock sequence, an unsigned 8-bit integer
31 * * **node**: The spatially unique node identifier, an unsigned 48-bit integer
32 *
33 * @link https://www.rfc-editor.org/rfc/rfc4122#section-4.1 RFC 4122, 4.1. Format
34 * @link https://www.rfc-editor.org/rfc/rfc9562#section-4 RFC 9562, 4. UUID Format
35 *
36 * @immutable
37 */
38 interface FieldsInterface extends BaseFieldsInterface
39 {
40 /**
41 * Returns the full 16-bit clock sequence, with the variant bits (two most 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 number has the following meaning:
76 *
77 * - 0 - Reserved for NCS backward compatibility
78 * - 2 - The RFC 9562 (formerly RFC 4122) variant
79 * - 6 - Reserved, Microsoft Corporation backward compatibility
80 * - 7 - Reserved for future definition
81 *
82 * For RFC 9562 (formerly RFC 4122) variant UUIDs, this value should always be the integer `2`.
83 *
84 * @link https://www.rfc-editor.org/rfc/rfc9562#section-4.1 RFC 9562, 4.1. Variant Field
85 */
86 public function getVariant() : int;
87 /**
88 * Returns the UUID version
89 *
90 * The version number describes how the UUID was generated and has the following meaning:
91 *
92 * 1. Gregorian time UUID
93 * 2. DCE security UUID
94 * 3. Name-based UUID hashed with MD5
95 * 4. Randomly generated UUID
96 * 5. Name-based UUID hashed with SHA-1
97 * 6. Reordered Gregorian time UUID
98 * 7. Unix Epoch time UUID
99 * 8. Custom format UUID
100 *
101 * This returns `null` if the UUID is not an RFC 9562 (formerly RFC 4122) variant, since the version is only
102 * meaningful for this variant.
103 *
104 * @link https://www.rfc-editor.org/rfc/rfc9562#section-4.2 RFC 9562, 4.2. Version Field
105 *
106 * @pure
107 */
108 public function getVersion() : ?int;
109 /**
110 * Returns true if these fields represent a nil UUID
111 *
112 * The nil UUID is a special form of UUID that is specified to have all 128 bits set to zero.
113 *
114 * @pure
115 */
116 public function isNil() : bool;
117 }
118