DeserializationContext

What a ResultConverter is handed to convert the values nested inside the one it was given.

Going through convert rather than converting a nested value by hand is what keeps the failure legible: each call contributes a segment to the path of any MappingException raised below it, so an error deep in a composite arrives naming the attribute it happened in.

Inheritors

Properties

Link copied to clipboard
abstract val typeManager: TypeManager

The session's type manager, for resolving OIDs and looking up type definitions.

Functions

Link copied to clipboard
abstract fun <T> convert(source: Any?, expectedType: KType, sourceType: PgType, pathSegment: String? = null): T

Converts a raw value to the expected type using registered converters.

open fun <T> convert(source: Any?, expectedType: KType, sourceOid: Int, pathSegment: String? = null): T

Converts a raw value to the expected type using registered converters, resolving the PostgreSQL type from its OID.

Link copied to clipboard
abstract fun findConverter(sourceClass: KClass<*>, expectedType: KType, sourceType: PgType): ResultConverter<Any, *>?

Looks up the converter that would claim a value, without converting anything.