DynamicEnumSchema

class DynamicEnumSchema(val constantNames: List<String>) : FateSchema<String>

Writes the same bytes as EnumSchema, but takes the constant name as a String instead of an enum value. Throws IllegalArgumentException for a name that is not in constantNames.

Constructors

Link copied to clipboard
constructor(constantNames: List<String>)

Properties

Link copied to clipboard
Link copied to clipboard
open override val schema: ByteArray

The schema definition as bytes, which the writer puts in the log.

Link copied to clipboard
open override val schemaSize: Int

Number of bytes in this schema's definition.

Link copied to clipboard
open override val tag: Int

The integer that identifies this schema's type in the log.

Functions

Link copied to clipboard
open override fun encodeObject(buffer: ByteBuffer, obj: String)

Writes the given object into the buffer.

Link copied to clipboard
open fun encodeSchema(buffer: ByteBuffer)

Writes the whole schema definition, starting with the tag, into the buffer.

Link copied to clipboard
fun getConstantName(ordinal: Int): String
Link copied to clipboard
open override fun objSize(obj: String): Int

Returns the number of bytes encodeObject writes for the given object.