RowDecoder

abstract class RowDecoder<Session, Row>(val ctx: DecodingContext<Session, Row>, val module: SerializersModule, val initialRowIndex: Int, val api: ApiDecoders<Session, Row>, val decoders: Set<SqlDecoder<Session, Row, out Any>>, val columnInfos: List<ColumnInfo>, val type: RowDecoderType, val json: Json, val endCallback: (Int) -> Unit) : Decoder, CompositeDecoder

Constructors

Link copied to clipboard
constructor(ctx: DecodingContext<Session, Row>, module: SerializersModule, initialRowIndex: Int, api: ApiDecoders<Session, Row>, decoders: Set<SqlDecoder<Session, Row, out Any>>, columnInfos: List<ColumnInfo>, type: RowDecoderType, json: Json, endCallback: (Int) -> Unit)

Properties

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val endCallback: (Int) -> Unit
Link copied to clipboard
Link copied to clipboard
val json: Json
Link copied to clipboard
val module: SerializersModule
Link copied to clipboard
Link copied to clipboard
open override val serializersModule: SerializersModule
Link copied to clipboard

Functions

Link copied to clipboard
open override fun beginStructure(descriptor: SerialDescriptor): CompositeDecoder
Link copied to clipboard
abstract fun cloneSelf(ctx: DecodingContext<Session, Row>, initialRowIndex: Int, type: RowDecoderType, endCallback: (Int) -> Unit): RowDecoder<Session, Row>
Link copied to clipboard
fun colName(index: Int): String
Link copied to clipboard
fun <T> decodeBestEffortFromDescriptor(desc: SerialDescriptor, parent: SerialDescriptor, index: Int, alternateDeserializer: DeserializationStrategy<T?>): T?
Link copied to clipboard
open override fun decodeBoolean(): Boolean
Link copied to clipboard
open override fun decodeBooleanElement(descriptor: SerialDescriptor, index: Int): Boolean
Link copied to clipboard
open override fun decodeByte(): Byte
Link copied to clipboard
open override fun decodeByteElement(descriptor: SerialDescriptor, index: Int): Byte
Link copied to clipboard
open override fun decodeChar(): Char
Link copied to clipboard
open override fun decodeCharElement(descriptor: SerialDescriptor, index: Int): Char
Link copied to clipboard
open fun decodeCollectionSize(descriptor: SerialDescriptor): Int
Link copied to clipboard
open override fun decodeDouble(): Double
Link copied to clipboard
open override fun decodeDoubleElement(descriptor: SerialDescriptor, index: Int): Double
Link copied to clipboard
open override fun decodeElementIndex(descriptor: SerialDescriptor): Int
Link copied to clipboard
open override fun decodeEnum(enumDescriptor: SerialDescriptor): Int
Link copied to clipboard
open override fun decodeFloat(): Float
Link copied to clipboard
open override fun decodeFloatElement(descriptor: SerialDescriptor, index: Int): Float
Link copied to clipboard
open override fun decodeInline(descriptor: SerialDescriptor): Decoder
Link copied to clipboard
open override fun decodeInlineElement(descriptor: SerialDescriptor, index: Int): Decoder
Link copied to clipboard
open override fun decodeInt(): Int
Link copied to clipboard
open override fun decodeIntElement(descriptor: SerialDescriptor, index: Int): Int
Link copied to clipboard
fun <T> decodeJsonAnnotated(desc: SerialDescriptor, index: Int, deserializer: DeserializationStrategy<T?>): T?
Link copied to clipboard
fun <T> decodeJsonValue(desc: SerialDescriptor, index: Int, deserializer: DeserializationStrategy<T?>): T?
Link copied to clipboard
fun <T> decodeJsonValueContent(desc: SerialDescriptor, index: Int, deserializer: DeserializationStrategy<T?>): T?
Link copied to clipboard
open override fun decodeLong(): Long
Link copied to clipboard
open override fun decodeLongElement(descriptor: SerialDescriptor, index: Int): Long
Link copied to clipboard
@ExperimentalSerializationApi
open override fun decodeNotNullMark(): Boolean

Checks to see if the element is null before calling an actual deserialzier. Can't use this for nested classes because we need to check all upcoming rows to see if all of them are null, only then is the parent element considered null so instead we just opt to return true and check for nullity in the parent call of decodeNullableSerializableElement.

Link copied to clipboard
@ExperimentalSerializationApi
open override fun decodeNull(): Nothing?
Link copied to clipboard
@ExperimentalSerializationApi
open override fun <T : Any> decodeNullableSerializableElement(descriptor: SerialDescriptor, index: Int, deserializer: DeserializationStrategy<T?>, previousValue: T?): T?
Link copied to clipboard
open fun <T : Any> decodeNullableSerializableValue(deserializer: DeserializationStrategy<T?>): T?
Link copied to clipboard
Link copied to clipboard
open override fun <T> decodeSerializableElement(descriptor: SerialDescriptor, index: Int, deserializer: DeserializationStrategy<T>, previousValue: T?): T
Link copied to clipboard
open fun <T> decodeSerializableValue(deserializer: DeserializationStrategy<T>): T
Link copied to clipboard
open override fun decodeShort(): Short
Link copied to clipboard
open override fun decodeShortElement(descriptor: SerialDescriptor, index: Int): Short
Link copied to clipboard
open override fun decodeString(): String
Link copied to clipboard
open override fun decodeStringElement(descriptor: SerialDescriptor, index: Int): String
Link copied to clipboard
open override fun endStructure(descriptor: SerialDescriptor)
Link copied to clipboard
fun findJsonDecoderOrFail(desc: SerialDescriptor, index: Int): SqlDecoder<Session, Row, SqlJson?>
Link copied to clipboard
fun nextRowIndex(note: String = ""): Int
fun nextRowIndex(desc: SerialDescriptor, descIndex: Int, note: String = ""): Int
Link copied to clipboard
fun <T> validNullOrElse(desc: SerialDescriptor, index: Int, orElse: () -> T): T?