class
NoTag
extends AnyRef
Instance Constructors
-
new
NoTag
()
Value Members
-
def
!=
(arg0: AnyRef): Boolean
-
def
!=
(arg0: Any): Boolean
-
def
##
(): Int
-
def
==
(arg0: AnyRef): Boolean
-
def
==
(arg0: Any): Boolean
-
def
asInstanceOf
[T0]
: T0
-
def
clone
(): AnyRef
-
def
eq
(arg0: AnyRef): Boolean
-
def
equals
(arg0: Any): Boolean
-
def
finalize
(): Unit
-
def
getClass
(): java.lang.Class[_]
-
def
hashCode
(): Int
-
def
isInstanceOf
[T0]
: Boolean
-
def
ne
(arg0: AnyRef): Boolean
-
def
notify
(): Unit
-
def
notifyAll
(): Unit
-
def
synchronized
[T0]
(arg0: ⇒ T0): T0
-
def
toString
(): String
-
def
wait
(): Unit
-
def
wait
(arg0: Long, arg1: Int): Unit
-
def
wait
(arg0: Long): Unit
Inherited from AnyRef
Inherited from Any
Specifies that the base codec should not affect the subclasses' JsonCodecs at all and that the decoder should simply try each codec in turn, in the order they were provided to the builder, until it finds one that succeeds.
abstract class Base case class SubclassA(name: String) extends Base case class SubclassB(x: Int, y: Int) extends Base implicit val aCodec = SimpleJsonCodecBuilder[SubclassA].build("name", _.name) implicit val bCodec = SimpleJsonCodecBuilder[SubclassB].build("x", _.x, "y", _.y) val baseCodec = SimpleHierarchyCodecBuilder[Base](NoTag). branch[SubclassA]. branch[SubclassB]. build println(baseCodec.encode(SubclassA("John"))) // { "name" : "John" } println(baseCodec.encode(SubclassB(1, 2))) // { "x" : 1, "y" : 2 }TagType