You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
99 lines
2.7 KiB
99 lines
2.7 KiB
<?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; |
|
|
|
/** |
|
* 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 |
|
{ |
|
/** |
|
* 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, 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 |
|
* |
|
* @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; |
|
}
|
|
|