t

com.avsystem.commons.misc

TypedKeyCompanion

trait TypedKeyCompanion[K[X] <: TypedKey[X]] extends SealedEnumCompanion[K[_]]

Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. TypedKeyCompanion
  2. SealedEnumCompanion
  3. AnyRef
  4. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. implicit abstract def keyCodec: GenKeyCodec[K[_]]

    GenKeyCodec for typed key K.

    GenKeyCodec for typed key K. You can implement this with GenKeyCodec.forSealedEnum macro

  2. abstract val values: commons.ISeq[K[_]]

    Holds a list of all case objects of a sealed trait or class T.

    Holds a list of all case objects of a sealed trait or class T. This must be implemented separately for every sealed enum, but can be implemented simply by using the caseObjects macro. It's important to *always* state the type of values explicitly, as a workaround for SI-7046. For example:

    val values: List[MyEnum] = caseObjects

    Also, be aware that caseObjects macro guarantees well-defined order of elements only for OrderedEnum.

    Definition Classes
    SealedEnumCompanion

Concrete Value Members

  1. implicit val codecMapping: GenCodecMapping[K]
  2. implicit def evidence: TypedKeyCompanion.this.type

    Thanks to this implicit, SealedEnumCompanion and its subtraits can be used as typeclasses.

    Thanks to this implicit, SealedEnumCompanion and its subtraits can be used as typeclasses.

    Definition Classes
    SealedEnumCompanion