class FlatCoproductHint[T] extends CoproductHint[T]
Product types are disambiguated by a {"key":"value",...}. Of
course, this will fail if the product type has a field with the
same name as the key. The default key is the word "type" which
is a keyword in Scala so unlikely to collide with too many case
classes.
This variant is most common in JSON serialisation schemes and well supported by other frameworks.
- Alphabetic
- By Inheritance
- FlatCoproductHint
- CoproductHint
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new FlatCoproductHint(key: String)(implicit arg0: Typeable[T])
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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
fieldName(orig: String): String
Override to provide custom field naming.
Override to provide custom field naming. Caching is recommended for performance.
- Attributes
- protected
- Definition Classes
- CoproductHint
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
def
read[Name <: Symbol](j: JsObject, n: Name): Option[JsObject]
Given the
JsObjectfor the sealed family, disambiguate and extract theJsObjectassociated to theNameimplementation (if available) or otherwise returnNone.Given the
JsObjectfor the sealed family, disambiguate and extract theJsObjectassociated to theNameimplementation (if available) or otherwise returnNone.- Definition Classes
- FlatCoproductHint → CoproductHint
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
def
write[Name <: Symbol](j: JsObject, n: Name): JsObject
Given the
JsObjectfor the contained product type ofName, encode disambiguation information for later retrieval.Given the
JsObjectfor the contained product type ofName, encode disambiguation information for later retrieval.- Definition Classes
- FlatCoproductHint → CoproductHint