UuidInterface.php
Same filename in this branch
Namespace
Ramsey\UuidFile
-
vendor/
ramsey/ uuid/ src/ UuidInterface.php
View source
<?php
/**
* This file is part of the ramsey/uuid library
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*
* @copyright Copyright (c) Ben Ramsey <ben@benramsey.com>
* @license http://opensource.org/licenses/MIT MIT
*/
declare (strict_types=1);
namespace Ramsey\Uuid;
use JsonSerializable;
use Ramsey\Uuid\Fields\FieldsInterface;
use Ramsey\Uuid\Type\Hexadecimal;
use Ramsey\Uuid\Type\Integer as IntegerObject;
use Serializable;
use Stringable;
/**
* A UUID is a universally unique identifier adhering to an agreed-upon
* representation format and standard for generation
*
* @psalm-immutable
*/
interface UuidInterface extends DeprecatedUuidInterface, JsonSerializable, Serializable, Stringable {
/**
* Returns -1, 0, or 1 if the UUID is less than, equal to, or greater than
* the other UUID
*
* The first of two UUIDs is greater than the second if the most
* significant field in which the UUIDs differ is greater for the first
* UUID.
*
* * Q. What's the value of being able to sort UUIDs?
* * A. Use them as keys in a B-Tree or similar mapping.
*
* @param UuidInterface $other The UUID to compare
*
* @return int<-1,1> -1, 0, or 1 if the UUID is less than, equal to, or greater than $other
*/
public function compareTo(UuidInterface $other) : int;
/**
* Returns true if the UUID is equal to the provided object
*
* The result is true if and only if the argument is not null, is a UUID
* object, has the same variant, and contains the same value, bit for bit,
* as the UUID.
*
* @param object|null $other An object to test for equality with this UUID
*
* @return bool True if the other object is equal to this UUID
*/
public function equals(?object $other) : bool;
/**
* Returns the binary string representation of the UUID
*
* @psalm-return non-empty-string
*/
public function getBytes() : string;
/**
* Returns the fields that comprise this UUID
*/
public function getFields() : FieldsInterface;
/**
* Returns the hexadecimal representation of the UUID
*/
public function getHex() : Hexadecimal;
/**
* Returns the integer representation of the UUID
*/
public function getInteger() : IntegerObject;
/**
* Returns the string standard representation of the UUID as a URN
*
* @link http://en.wikipedia.org/wiki/Uniform_Resource_Name Uniform Resource Name
* @link https://tools.ietf.org/html/rfc4122#section-3 RFC 4122, § 3: Namespace Registration Template
*/
public function getUrn() : string;
/**
* Returns the string standard representation of the UUID
*
* @psalm-return non-empty-string
*/
public function toString() : string;
/**
* Casts the UUID to the string standard representation
*
* @psalm-return non-empty-string
*/
public function __toString() : string;
}
Interfaces
Title | Deprecated | Summary |
---|---|---|
UuidInterface | A UUID is a universally unique identifier adhering to an agreed-upon representation format and standard for generation |