object AdtEncodingStrategy
- Alphabetic
- By Inheritance
- AdtEncodingStrategy
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
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 flat(typeMemberName: String = "_type", maxBufferSize: Int = 1024 * 1024): AdtEncodingStrategy
Alternative ADT encoding strategy, which writes the type ID as an extra map member.
Alternative ADT encoding strategy, which writes the type ID as an extra map member. The extra member will be the first member in the encoding. (But can be anywhere during decoding. The earlier the type member appears in the encoding map the better the decoding performance and the lesser the caching memory requirements will be.)
Requires that all ADT sub types encode to a map. Less efficient (with regard to encoding/decoding process as well as encoded size) than the default strategy.
Example:
A
Dog
instance from this ADT:sealed trait Animal case class Dog(age: Int, name: String) extends Animal case class Cat(weight: Double, color: String, home: String) extends Animal case class Mouse(tail: Boolean) extends Animal
would be encoded as such, for example:
{ "_type": "Dog", "age": 2, "name": "Lolle" }
- 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
- 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()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- 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])
- implicit object Default extends AdtEncodingStrategy
Default and recommended ADT encoding strategy.
Default and recommended ADT encoding strategy. Encodes the ADT super type as a single-element map with the only member consisting of the type ID as key and the instance encoding as the value.
Example:
A
Dog
instance from this ADT:sealed trait Animal case class Dog(age: Int, name: String) extends Animal case class Cat(weight: Double, color: String, home: String) extends Animal case class Mouse(tail: Boolean) extends Animal
would be encoded as such, for example:
{ "Dog" : { "age": 2, "name": "Lolle" } }
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated