OptionalInt
Represents a value that encapsulate the optional and value state of an Int in the Discord API. Specifically:
Missing - an Int field that was not present in the serialized entity.
Value - an Int field that was assigned a non-null value in the serialized entity.
Note that there is no nullable variant present. Use Int? or
OptionalInt?
for this case instead.
The base class is (de)serializable with kotlinx.serialization.
Note that kotlinx.serialization does not call serializers for values that are not present in the serialized format. Optional
fields should have a default value of OptionalInt.Missing
:
@Serializable
class DiscordUser(
val id: Long,
val username: String,
val bot: OptionalInt = OptionalInt.Missing
)
Inheritors
Types
Represents an Int field that was not present in the serialized entity.
Represents a field that was assigned a non-null value in the serialized entity. Equality and hashcode is implemented through its value.
Properties
returns null
if this is null
, calls OptionalInt.asNullable otherwise.
returns null
if this is null
or OptionalInt.Missing, calls OptionalInt.Value.value otherwise.
Functions
returns the value of the optional or throws a IllegalStateException if the optional doesn't contain a value or is null
.
returns default if this is null
, calls OptionalInt.asNullable otherwise.