Package-level declarations

Types

Link copied to clipboard

将ID视为字符串进行序列化/反序列化的序列化器。

Link copied to clipboard

ID 是用于表示 唯一标识 的不可变类值类型。

Link copied to clipboard
annotation class ID4J

一个设计为仅供 Java 用户使用的API

Link copied to clipboard
interface IDContainer

一个拥有 ID 属性的“ID容器”。

Link copied to clipboard

一个通过 32位整型 (Int) 作为ID值的 NumericalID 实现。

Link copied to clipboard

一个通过 64位整型 (Long) 作为ID值的 NumericalID 实现。

Link copied to clipboard
sealed class NumericalID : ID

通过一个数字作为ID值的 ID 实现。主要有2个子抽象类型:

Link copied to clipboard

通过一个有符号数字作为ID值的 NumericalID 实现。

Link copied to clipboard

一个使用字符串 String 作为ID值的 ID 实现。

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

通过一个无符号数字作为ID值的 NumericalID 实现。

Link copied to clipboard

一个不可变的 "universally unique identifier" (UUID) 。

Inherited properties

Link copied to clipboard
@get:JvmName(name = "uuid")
val Uuid.ID: UUID

通过一个 kotlin.uuid.Uuid 构建 UUID.

Link copied to clipboard

UUID 转化为 Java UUID

Link copied to clipboard

ID.toString, 得到 ID 的字面值。

Link copied to clipboard

Java UUID 转化为 UUID

Functions

Link copied to clipboard
@JvmName(name = "of")
fun intIDOf(value: Int): IntID
Link copied to clipboard
@JvmName(name = "of")
fun longIDOf(value: Long): LongID
Link copied to clipboard
fun randomUUID(random: Random): UUID

通过 java.util.Random 构建随机的 UUID

Link copied to clipboard
@JvmName(name = "of")
fun stringIDOf(value: CharSequence): StringID
@JvmName(name = "of")
fun stringIDOf(value: String): StringID
Link copied to clipboard
@JvmName(name = "ofUInt")
fun uIntIDOf(value: String): UIntID
@JvmName(name = "ofUInt")
fun uIntIDOf(value: UInt): UIntID
Link copied to clipboard
@JvmName(name = "ofULong")
fun uLongIDOf(value: ULong): ULongID

构建一个 ULongID.

@JvmName(name = "ofULong")
fun uLongIDOf(value: String): ULongID
Link copied to clipboard
@JvmName(name = "uuid")
fun uuidOf(javaRandom: Random?): UUID

使用 java.util.Random 得到一个随机的 UUID

@JvmName(name = "uuid")
fun uuidOf(javaUuid: UUID): UUID

java.util.UUID 转化为 UUID

@JvmName(name = "uuid")
fun uuidOf(random: Random? = null): UUID

Inherited functions

Link copied to clipboard
@JvmName(name = "toInt")
inline fun ID.toInt(notNumerical: ID.() -> Int = { literal.toInt() }): Int

尝试将 this 转化为 Int。 如果为 NumericalID 则直接使用 NumericalID.toInt, 否则使用 notNumerical 转化。默认会尝试使用 literal.toInt()

Link copied to clipboard
@JvmName(name = "toIntID")
inline fun ID.toIntID(notNumerical: ID.() -> IntID = { literal.toInt().ID }): IntID

尝试将 this 转为 IntID 类型。 如果不是数字ID,则会使用 notNumerical 获取结果。默认使用 String.toInt

Link copied to clipboard
@JvmName(name = "toIntOrNull")
inline fun ID.toIntOrNull(notNumerical: ID.() -> Int? = { literal.toIntOrNull() }): Int?

尝试将 this 转化为 Int。 如果为 NumericalID 则直接使用 NumericalID.toInt, 否则使用 notNumerical 转化。默认会尝试使用 literal.toIntOrNull()

Link copied to clipboard

UUID 转化为 java.util.UUID

Link copied to clipboard
Link copied to clipboard
@JvmName(name = "toLong")
inline fun ID.toLong(notNumerical: ID.() -> Long = { literal.toLong() }): Long

尝试将 this 转化为 Long。 如果为 NumericalID 则直接使用 NumericalID.toLong, 否则使用 notNumerical 转化。默认会尝试使用 literal.toLong()

Link copied to clipboard
@JvmName(name = "toLongID")
inline fun ID.toLongID(notNumerical: ID.() -> LongID = { literal.toLong().ID }): LongID

尝试将 this 转为 LongID 类型。 如果不是数字ID,则会使用 notNumerical 获取结果。默认使用 String.toLong

Link copied to clipboard
@JvmName(name = "toLongOrNull")
inline fun ID.toLongOrNull(notNumerical: ID.() -> Long? = { literal.toLongOrNull() }): Long?

尝试将 this 转化为 Long。 如果为 NumericalID 则直接使用 NumericalID.toLong, 否则使用 notNumerical 转化。默认会尝试使用 literal.toLongOrNull()

Link copied to clipboard
@JvmName(name = "toUInt")
inline fun ID.toUInt(notNumerical: ID.() -> UInt = { literal.toUInt() }): UInt

尝试将 this 转化为 UInt。 如果为 NumericalID 则直接使用 NumericalID.toInt.toUInt, 否则使用 notNumerical 转化。默认会尝试使用 literal.toUInt()

Link copied to clipboard
@JvmName(name = "toUIntID")
inline fun ID.toUIntID(notNumerical: ID.() -> UIntID = { literal.toUInt().ID }): UIntID

尝试将 this 转为 UIntID 类型。 如果不是数字ID,则会使用 notNumerical 获取结果。默认使用 String.toUInt

Link copied to clipboard
@JvmName(name = "toUIntOrNull")
inline fun ID.toUIntOrNull(notNumerical: ID.() -> UInt? = { literal.toUIntOrNull() }): UInt?

尝试将 this 转化为 UInt。 如果为 NumericalID 则直接使用 NumericalID.toInt.toUInt, 否则使用 notNumerical 转化。默认会尝试使用 literal.toUIntOrNull()

Link copied to clipboard
@JvmName(name = "toULong")
inline fun ID.toULong(notNumerical: ID.() -> ULong = { literal.toULong() }): ULong

尝试将 this 转化为 ULong。 如果为 NumericalID 则直接使用 NumericalID.toLong.toULong, 否则使用 notNumerical 转化。默认会尝试使用 literal.toULong()

Link copied to clipboard
@JvmName(name = "toULongID")
inline fun ID.toULongID(notNumerical: ID.() -> ULongID = { literal.toULong().ID }): ULongID

尝试将 this 转为 ULongID 类型。 如果不是数字ID,则会使用 notNumerical 获取结果。默认使用 String.toULong

Link copied to clipboard
@JvmName(name = "toULongOrNull")
inline fun ID.toULongOrNull(notNumerical: ID.() -> ULong? = { literal.toULongOrNull() }): ULong?

尝试将 this 转化为 ULong。 如果为 NumericalID 则直接使用 NumericalID.toLong.toULong, 否则使用 notNumerical 转化。默认会尝试使用 literal.toULongOrNull()

Link copied to clipboard
inline fun <T> String.toUUIDSigs(block: (most: Long, least: Long) -> T): T

尝试将字符串解析为UUID的高低64位整型。