Class/Object

emblem.emblematic

Union

Related Docs: object Union | package emblematic

Permalink

case class Union[A](typeKey: TypeKey[A], constituents: Set[Emblem[_ <: A]], props: Seq[UnionProp[A, _]], lookup: UnionConstituentLookup[A]) extends Reflective[A] with Product with Serializable

describes a supertype that can be resolved down in to other types found in an Emblematic.

currently, discrimination between the constituent types depends on the simple name of the type. this may lead to problems if two constituent types have the same simple name, if the types involved are companion objects, or if the types are otherwise complex types, such as Foo with Bar. for now, it's best to declare your constituent types in discrete classes. if this ever becomes a problematic limitation, we will look into making this more robust.

A

the supertype

typeKey

the type key for the supertype

constituents

emblems for the constituent types

props

the union properties

Source
Union.scala
Linear Supertypes
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Union
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. Reflective
  7. AnyRef
  8. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Union(typeKey: TypeKey[A], constituents: Set[Emblem[_ <: A]], props: Seq[UnionProp[A, _]], lookup: UnionConstituentLookup[A])

    Permalink

    typeKey

    the type key for the supertype

    constituents

    emblems for the constituent types

    props

    the union properties

Type Members

  1. type PropType[B, C] = UnionProp[B, C]

    Permalink

    the kind of reflective property this reflective has.

    the kind of reflective property this reflective has. either an EmblemProp or a UnionProp

    Definition Classes
    UnionReflective

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from Union[A] to any2stringadd[Union[A]] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (Union[A], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from Union[A] to ArrowAssoc[Union[A]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. def apply(name: String): PropType[A, _]

    Permalink

    retrieves a reflective property by name

    retrieves a reflective property by name

    Definition Classes
    Reflective
  7. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. val constituentKeys: Set[TypeKey[_ <: A]]

    Permalink

    type keys for the constituent types

  10. val constituents: Set[Emblem[_ <: A]]

    Permalink

    emblems for the constituent types

  11. lazy val debugInfo: String

    Permalink

    a string describing the reflective in full detail

    a string describing the reflective in full detail

    Definition Classes
    Reflective
  12. def ensuring(cond: (Union[A]) ⇒ Boolean, msg: ⇒ Any): Union[A]

    Permalink
    Implicit information
    This member is added by an implicit conversion from Union[A] to Ensuring[Union[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  13. def ensuring(cond: (Union[A]) ⇒ Boolean): Union[A]

    Permalink
    Implicit information
    This member is added by an implicit conversion from Union[A] to Ensuring[Union[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  14. def ensuring(cond: Boolean, msg: ⇒ Any): Union[A]

    Permalink
    Implicit information
    This member is added by an implicit conversion from Union[A] to Ensuring[Union[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  15. def ensuring(cond: Boolean): Union[A]

    Permalink
    Implicit information
    This member is added by an implicit conversion from Union[A] to Ensuring[Union[A]] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  16. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  17. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  18. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from Union[A] to StringFormat[Union[A]] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  19. val fullname: String

    Permalink

    the fully qualified type name

    the fully qualified type name

    Definition Classes
    Reflective
  20. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  21. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  22. val lookup: UnionConstituentLookup[A]

    Permalink
  23. val name: String

    Permalink

    the unqualified type name

    the unqualified type name

    Definition Classes
    Reflective
  24. val namePrefix: String

    Permalink

    a dot-separated identifier of the enclosing scope of the type

    a dot-separated identifier of the enclosing scope of the type

    Definition Classes
    Reflective
  25. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  26. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  27. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  28. def prop[B](name: String)(implicit arg0: TypeKey[B]): PropType[A, B]

    Permalink

    retrieves the reflective property with the specified property type by name

    retrieves the reflective property with the specified property type by name

    Definition Classes
    Reflective
  29. val propMap: Map[String, PropType[A, _]]

    Permalink

    a map of the props, keyed by name

    a map of the props, keyed by name

    Definition Classes
    Reflective
  30. val props: Seq[UnionProp[A, _]]

    Permalink

    the union properties

    Definition Classes
    UnionReflective
  31. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  32. def toString(): String

    Permalink
    Definition Classes
    Reflective → AnyRef → Any
  33. val typeKey: TypeKey[A]

    Permalink

    the type key for the supertype

    the type key for the supertype

    Definition Classes
    UnionReflective
  34. def typeKeyForInstance(a: A): Option[TypeKey[_ <: A]]

    Permalink

    returns the type key for the constituent that the instance matches, wrapped in a Some, if the instance matches one of the constituent types.

    returns the type key for the constituent that the instance matches, wrapped in a Some, if the instance matches one of the constituent types. otherwise returns None.

    a

    the instance to find the constituent type for

    returns

    the type key for the constituent type

  35. def typeKeyForName(name: String): Option[TypeKey[_ <: A]]

    Permalink

    returns the type key for the constituent with the given name, wrapped in a Some, if the name matches one of the constituent types.

    returns the type key for the constituent with the given name, wrapped in a Some, if the name matches one of the constituent types. otherwise returns None.

    returns

    the type key for the constituent type

  36. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. def [B](y: B): (Union[A], B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from Union[A] to ArrowAssoc[Union[A]] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from Reflective[A]

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from Union[A] to any2stringadd[Union[A]]

Inherited by implicit conversion StringFormat from Union[A] to StringFormat[Union[A]]

Inherited by implicit conversion Ensuring from Union[A] to Ensuring[Union[A]]

Inherited by implicit conversion ArrowAssoc from Union[A] to ArrowAssoc[Union[A]]

Ungrouped