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

dev.mongocamp.driver.mongodb.bson.codecs.CustomCodecProvider.scala Maven / Gradle / Ivy

There is a newer version: 2.8.1
Show newest version
package dev.mongocamp.driver.mongodb.bson.codecs

import org.bson.codecs.Codec
import org.bson.codecs.configuration.{ CodecProvider, CodecRegistry }

case class CustomCodecProvider() extends CodecProvider {

  val BigIntClass: Class[BigInt]         = classOf[BigInt]
  val BigDecimalClass: Class[BigDecimal] = classOf[BigDecimal]

  // scalastyle:off null
  @SuppressWarnings(Array("unchecked"))
  def get[T](clazz: Class[T], registry: CodecRegistry): Codec[T] =
    clazz match {
      case BigIntClass     => new BigIntCodec().asInstanceOf[Codec[T]]
      case BigDecimalClass => new BigDecimalCodec().asInstanceOf[Codec[T]]
      case _               => null
    }
  // scalastyle:on null
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy