UniqueIdentifier

data class UniqueIdentifier constructor(val externalId: String? = null, val id: UUID = UUID.randomUUID()) : Comparable<UniqueIdentifier>

This class provides a truly unique identifier of a trade, state, or other business object, bound to any existing external ID. Equality and comparison are based on the unique ID only; if two states somehow have the same UUID but different external IDs, it would indicate a problem with handling of IDs.

Parameters

externalId

Any existing weak identifier such as trade reference ID. This should be set here the first time a UniqueIdentifier is created as part of state issuance, or ledger on-boarding activity. This ensure that the human readable identity is paired with the strong ID.

id

Should never be set by user code and left as default initialised. So that the first time a state is issued this should be given a new UUID. Subsequent copies and evolutions of a state should just copy the externalId and id fields unmodified.

Constructors

Link copied to clipboard
constructor(externalId: String? = null, id: UUID = UUID.randomUUID())

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
val externalId: String? = null
Link copied to clipboard
val id: UUID

Functions

Link copied to clipboard
open operator override fun compareTo(other: UniqueIdentifier): Int
Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun toString(): String