Skip to content

Enum

Represents a value chosen from a predefined enum.

  • Kotlin Definition: EnumDefinition
  • Kotlin Value: IndexedEnum
  • Maryk Yaml Definition: Enum
  • Value
  • Map key or value
  • Inside List/Set
  • required - default true
  • final - default false
  • unique - default false
  • minValue - default false. Minimum value
  • maxValue - default false. Maximum value
  • default - the default value to be used if value was not set.
  • enum - defines the enum can contain

Example of an Enum definition

Kotlin enum version

enum class Role(override val index: UInt, override val alternativeNames: Set<String>? = null): IndexedEnumComparable<Role> {
Admin(1u),
Moderator(2u),
User(3u);
companion object: IndexedEnumDefinition<Role>(Role::class, { entries })
}

Sealed class version

sealed class Role(index: UInt): IndexedEnumImpl<Role>(index) {
object Admin: Role(1u)
object Moderator: Role(2u)
object User: Role(3u)
companion object: IndexedEnumDefinition<Role>(Role::class, { arrayOf(Admin, Moderator, User) })
}

Example of an Enum property definition for use within a Model

It refers to the earlier Kotlin enum definition

val role by enum(
index = 1u,
enum = Role,
required = true,
final = true,
unique = true,
default = Role.User,
minValue = Role.Admin,
maxValue = Role.User
)

Example of a separate Enum property definition

It refers to the earlier Kotlin enum definition

val def = EnumDefinition(
enum = Role,
required = true,
final = true,
unique = true,
default = Role.User,
minValue = Role.Admin,
maxValue = Role.User
)

The enum index value as two bytes. It is encoded as unsigned short.

The enum index value as a VarInt.

Name of the Enum.