trait Codecs extends AnyRef
- Alphabetic
- By Inheritance
- Codecs
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- implicit class BsonOps extends AnyRef
- implicit class DocumentOps extends AnyRef
- implicit class DocumentsOps extends AnyRef
- implicit class JsonOps[A] extends AnyRef
- class SumCodecsBuilder[A] extends AnyRef
Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def fromBson[A](bs: BsonValue)(implicit arg0: Reads[A]): A
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- val logger: Logger
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def playFormatCodec[A](format: Format[A], legacyNumbers: Boolean = false)(implicit ct: ClassTag[A]): Codec[A]
- legacyNumbers
truewill preserve the Number modifications which occured with simple-reactivemongo when storing extremely large and small numbers. The default valuefalseshould be preferred in most cases. This does change the previous behaviour from reactivemongo, but only for extreme values not within typical usage (e.g. 4.648216657858037E+74). This ensures that should numbers in this extreme range occur, they will be stored and retrieved accurately, whereas with the legacy behaviour they may be modified in unexpected ways.
- def playFormatCodecsBuilder[A](format: Format[A], legacyNumbers: Boolean = false)(implicit ct: ClassTag[A]): SumCodecsBuilder[A]
This variant of
playFormatCodecallows to register a codec for subclasses, which are defined by a play format for a supertype.This variant of
playFormatCodecallows to register a codec for subclasses, which are defined by a play format for a supertype. This is helpful when writing an instance of the subclass to mongo, since codecs are looked up by reflection, and the format will need to be registered explicitly for the subclass.It makes it easier to register for multiple subclasses together.
E.g.
sealed trait Sum case class Sum1() extends Sum case class Sum2() extends Sum val sumFormat: Format[Sum] = ... new PlayMongoRepository[Sum]( domainFormat = sumFormat, extraCodecs = Codecs.playFormatCodecsBuilder(sumFormat).forType[Sum1].forType[Sum2].build )- legacyNumbers
see
playFormatCodec
- def playFormatSumCodecs[A](format: Format[A], legacyNumbers: Boolean = false)(implicit tt: scala.reflect.api.JavaUniverse.TypeTag[A]): Seq[Codec[_]]
This variant of
playFormatCodecallows to register codecs for all direct subclasses, which are defined by a play format for a supertype.This variant of
playFormatCodecallows to register codecs for all direct subclasses, which are defined by a play format for a supertype. This is helpful when writing an instance of the subclass to mongo, since codecs are looked up by reflection, and the format will need to be registered explicitly for the subclass.E.g.
sealed trait Sum case class Sum1() extends Sum case class Sum2() extends Sum val sumFormat: Format[Sum] = ... new PlayMongoRepository[Sum]( domainFormat = sumFormat, extraCodecs = Codecs.playFormatSumCodecs(sumFormat) )- legacyNumbers
see
playFormatCodec
- Exceptions thrown
IllegalArgumentExceptionif the class is not a sealed trait
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toBson[A](a: A, legacyNumbers: Boolean = false)(implicit arg0: Writes[A]): BsonValue
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated