SCoproduct

case class SCoproduct[T](subtypes: List[Schema[_]], discriminator: Option[SDiscriminator])(subtypeSchema: T => Option[SchemaWithValue[_]]) extends SchemaType[T]
trait Serializable
trait Product
trait Equals
trait SchemaType[T]
class Object
trait Matchable
class Any

Value members

Concrete methods

def addDiscriminatorField[D](discriminatorName: FieldName, discriminatorSchema: Schema[D], discriminatorMapping: Map[String, SRef[_]]): SCoproduct[T]
Value parameters:
discriminatorSchema

Schema used when adding the discriminator as a field to a child product schema.

override def as[TT]: SchemaType[TT]
Definition Classes
override def contramap[TT](g: TT => T): SchemaType[TT]
Definition Classes
override def show: String
Definition Classes

Inherited methods

def productElementNames: Iterator[String]
Inherited from:
Product
def productIterator: Iterator[Any]
Inherited from:
Product

Concrete fields

val subtypeSchema: T => Option[SchemaWithValue[_]]