All Downloads are FREE. Search and download functionalities are using the official Maven repository.

logical.conversion.parameterized.ParameterizedBooleanConversion.kt Maven / Gradle / Ivy

package io.toolisticon.kotlin.avro.logical.conversion.parameterized

import io.toolisticon.kotlin.avro.model.SchemaType
import io.toolisticon.kotlin.avro.model.wrapper.AvroSchema
import io.toolisticon.kotlin.avro.value.LogicalTypeName
import org.apache.avro.LogicalType
import org.apache.avro.Schema

abstract class ParameterizedBooleanConversion(
  logicalTypeName: LogicalTypeName,
  convertedType: Class
) : PrimitiveTypeConversion(
  logicalTypeName = logicalTypeName,
  convertedType = convertedType,
  primitiveType = SchemaType.BOOLEAN
) {

  override fun fromBoolean(value: Boolean, schema: Schema?, type: LogicalType?) = fromAvro(
    value = value,
    schema = AvroSchema.ofNullable(schema),
    logicalType = type
  )

  override fun toBoolean(value: CONVERTED_TYPE, schema: Schema?, type: LogicalType?) = toAvro(
    value = value,
    schema = AvroSchema.ofNullable(schema),
    logicalType = type
  )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy