TinyUUID

open class TinyUUID(uuid: UUID) : AbstractFachwert<UUID, TinyUUID>

Die Klasse TinyUUID ist ein einfacher Wrapper um UUID mit dem Ziel, eine kuerzere Praesentation als das Original zur Verfuegung zu stellen. Die Original-UUID hat eine Laenge von 35 Zeichen, belegt aber intern nur 128 Bits oder 16 Bytes. Damit laeest sich der Speicheraufwand um ueber 50% reduzieren.

Die Klasse implementiert die wichtigsten Methoden und Konstruktoren der UUID-Klasse, sodass sie als Ersatz fuer diese Klasse verwendet werden kann.

Author

oboehm

Since

0.6+ (11.12.2017)

Inheritors

Constructors

Link copied to clipboard
constructor(uuid: String)

Instantiiert eine eine neue TinyUUID anhand eines Strings. Dieser kann sowohl in Form einer UUID ("4e8108fa-e517-41bd-8372-a828843030ba") als auch in Form ohne Trennzeichen ("4e8108fae51741bd8372a828843030ba") angegeben werden.

constructor(number: BigInteger)

Instantiiert eine neue TinyUUID. Die uebergebene Zahl wird dabei auf 128 Bit normalisiert, damit es beim Vergleich keine Ueberraschungen wegen unterschiedlichem Vorzeichen gibt.

constructor(bytes: ByteArray)

Instantiiert eine neue TinyUUID.

constructor(uuid: UUID)

Types

Link copied to clipboard
object Companion

Properties

Link copied to clipboard
val code: UUID

Liefert die interne Praesentation fuer die abgeleiteten Klassen. Sie ist nicht fuer den direkten Aufruf vorgesehen, weswegen die Methode auch 'final' ist.

Link copied to clipboard

Liefert die unteren 64 Bits der 128-bittigen UUID.

Link copied to clipboard

Liefert die oberen 64 Bits der 128-bittigen UUID.

Link copied to clipboard
val uUID: UUID

Liefert die UUID zurueck. Darueber kann man auf die weniger wichtigen Methoden von UUID zurueckgreifen, die in dieser Klasse fehlen.

Functions

Link copied to clipboard
open operator override fun compareTo(other: TinyUUID): Int

Dient zum Vergleich und Sortierung zweier Fachwerte.

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean

Zwei Fachwerte sind nur dann gleich, wenn sie vom gleichen Typ sind und den gleichen Wert besitzen.

Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
open override fun isValid(): Boolean

Normalerweise liefert diese Methode 'true' zurueck, da es nicht moeglich ist, ungueltige Fachwerte zu erstellen. Allerdings kann man auch den Validator gegen den {@link de.jfachwert.pruefung.NullValidator} austauschen. In diesem Fall sollte diese Methode 'false' zurueck liefern, wenn der Fachwert nicht gueltig ist.

Link copied to clipboard

Liefert die 128-Bit-Zahl als Byte-Array zurueck.

Link copied to clipboard

Dies ist das Gegenstueck zu .toShortString.

Link copied to clipboard
open override fun toMap(): Map<String, Any>

Liefert die einzelnen Attribute eines Fachwertes als Map. Bei einem einzelnen Wert wird als Default-Implementierung der Klassenname und die toString()-Implementierung herangezogen.

Link copied to clipboard

Liefert die UUID als 128-Bit-Zahl zurueck. Diese kann auch negativ sein.

Link copied to clipboard
open fun toShortString(): String

Liefert eine verkuerzte Darstellung einer UUID als String. Die Laenge reduziert sich dadurch auf 22 Zeichen. Diese kann z.B. dazu genutzt werden, um eine UUID platzsparend abzuspeichern, wenn man dazu nicht das Ergebnis aus .toBytes (16 Bytes) verwenden will.

Link copied to clipboard
open override fun toString(): String

TinyUUID ist zwar als Ersatz fuer die UUID-Klasse gedacht, liefert aber immer die Kurzform ueber die toString()-Methode zurueck. D.h. das Ergebis entspricht der Ausgabe von .toShortString.