Documentation

FieldsInterface extends FieldsInterface

RFC 4122 defines fields for a specific variant of UUID

The fields of an RFC 4122 variant UUID are:

  • time_low: The low field of the timestamp, an unsigned 32-bit integer
  • time_mid: The middle field of the timestamp, an unsigned 16-bit integer
  • time_hi_and_version: The high field of the timestamp multiplexed with the version number, an unsigned 16-bit integer
  • clock_seq_hi_and_reserved: The high field of the clock sequence multiplexed with the variant, an unsigned 8-bit integer
  • clock_seq_low: The low field of the clock sequence, an unsigned 8-bit integer
  • node: The spatially unique node identifier, an unsigned 48-bit integer
Tags
link

RFC 4122, § 4.1: Format

psalm-immutable

Table of Contents

getBytes()  : string
Returns the bytes that comprise the fields
getClockSeq()  : Hexadecimal
Returns the full 16-bit clock sequence, with the variant bits (two most significant bits) masked out
getClockSeqHiAndReserved()  : Hexadecimal
Returns the high field of the clock sequence multiplexed with the variant
getClockSeqLow()  : Hexadecimal
Returns the low field of the clock sequence
getNode()  : Hexadecimal
Returns the node field
getTimeHiAndVersion()  : Hexadecimal
Returns the high field of the timestamp multiplexed with the version
getTimeLow()  : Hexadecimal
Returns the low field of the timestamp
getTimeMid()  : Hexadecimal
Returns the middle field of the timestamp
getTimestamp()  : Hexadecimal
Returns the full 60-bit timestamp, without the version
getVariant()  : int
Returns the variant
getVersion()  : int|null
Returns the version
isNil()  : bool
Returns true if these fields represent a nil UUID

Methods

getBytes()

Returns the bytes that comprise the fields

public getBytes() : string
Return values
string

getClockSeq()

Returns the full 16-bit clock sequence, with the variant bits (two most significant bits) masked out

public getClockSeq() : Hexadecimal
Return values
Hexadecimal

getClockSeqHiAndReserved()

Returns the high field of the clock sequence multiplexed with the variant

public getClockSeqHiAndReserved() : Hexadecimal
Return values
Hexadecimal

getVariant()

Returns the variant

public getVariant() : int

The variant number describes the layout of the UUID. The variant number has the following meaning:

  • 0 - Reserved for NCS backward compatibility
  • 2 - The RFC 4122 variant
  • 6 - Reserved, Microsoft Corporation backward compatibility
  • 7 - Reserved for future definition

For RFC 4122 variant UUIDs, this value should always be the integer 2.

Tags
link

RFC 4122, § 4.1.1: Variant

Return values
int

getVersion()

Returns the version

public getVersion() : int|null

The version number describes how the UUID was generated and has the following meaning:

  1. Time-based UUID
  2. DCE security UUID
  3. Name-based UUID hashed with MD5
  4. Randomly generated UUID
  5. Name-based UUID hashed with SHA-1

This returns null if the UUID is not an RFC 4122 variant, since version is only meaningful for this variant.

Tags
link

RFC 4122, § 4.1.3: Version

Return values
int|null

isNil()

Returns true if these fields represent a nil UUID

public isNil() : bool

The nil UUID is special form of UUID that is specified to have all 128 bits set to zero.

Return values
bool

Search results