CustomPersistentDataTypeImpl

class CustomPersistentDataTypeImpl<P : Any, I : Any, C : Any>(val converter: PersistentDataType<P, I>, customClass: KClass<C>, toIntermediateFunc: (C) -> I, toCustomFunc: (I) -> C) : CustomPersistentDataType<P, I, C> (source)

An implementation of the CustomPersistentDataType interface.

This class provides the implementation for converting between the primitive type and the custom type using the provided conversion functions.

Author

Fantamomo

Since

1.0-SNAPSHOT

Parameters

P

The primitive type.

I

The intermediate type.

C

The custom type.

Constructors

Link copied to clipboard
constructor(converter: PersistentDataType<P, I>, customClass: KClass<C>, toIntermediateFunc: (C) -> I, toCustomFunc: (I) -> C)

Properties

Link copied to clipboard
open override val converter: PersistentDataType<P, I>

The converter used to convert between the primitive type and the intermediate type.

Functions

Link copied to clipboard
@JvmName(name = "createList")
inline fun <P : Any, C : Any> PersistentDataType<P, C>.asList(): ListPersistentDataType<P, C>
Link copied to clipboard
@JvmName(name = "createNullable")
inline fun <P : Any, C : Any> PersistentDataType<P, C>.asNullable(): NullablePersistentDataType<P, C>
Link copied to clipboard
@JvmName(name = "createSet")
inline fun <P : Any, C : Any> PersistentDataType<P, C>.asSet(): SetPersistentDataType<P, C>
Link copied to clipboard
open override fun convertToComplex(primitive: P): C

Converts a primitive data type to a complex data type.

Link copied to clipboard
open override fun convertToPrimitive(complex: C): P

Converts a complex data type to a primitive data type.

Link copied to clipboard
open override fun getComplexType(): KClass<C>

Returns the KClass of the complex data type.

Link copied to clipboard
open override fun getPrimitiveType(): KClass<P>

Returns the KClass of the primitive data type.

Link copied to clipboard
open override fun toCustom(intermediate: I): C

Converts the intermediate type to the custom type.

Link copied to clipboard
open override fun toIntermediate(custom: C): I

Converts the custom type to the intermediate type.

Link copied to clipboard
@JvmName(name = "createMap")
infix inline fun <KP : Any, KC : Any, VP : Any, VC : Any> PersistentDataType<KP, KC>.withMap(valueType: PersistentDataType<VP, VC>): MapPersistentDataType<KP, KC, VP, VC>