t

com.avsystem.commons.misc

ValueEnumCompanion

trait ValueEnumCompanion[T <: ValueEnum] extends NamedEnumCompanion[T]

Base trait for companion objects of value based enums. See ValueEnum for more information. NOTE: if possible, prefer using AbstractValueEnumCompanion instead of this trait directly.

Self Type
ValueEnumCompanion[T]
Linear Supertypes
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ValueEnumCompanion
  2. NamedEnumCompanion
  3. SealedEnumCompanion
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. type Value = T

Value Members

  1. lazy val byName: Map[String, T]

    Returns a map from all case objects names to their instances.

    Returns a map from all case objects names to their instances. Since byName uses caseObjects macro it does NOT guarantee an order of elements. It is also essential to provide unique names for each case object in the sealed hierarchy to retrieve valid hierarchy.

    Definition Classes
    NamedEnumCompanion
  2. implicit lazy val codec: GenCodec[T]
    Definition Classes
    NamedEnumCompanion
  3. implicit def evidence: ValueEnumCompanion.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
  4. implicit lazy val keyCodec: GenKeyCodec[T]
    Definition Classes
    NamedEnumCompanion
  5. final lazy val values: commons.IIndexedSeq[T]

    Holds an indexed sequence of all enum values, ordered by their ordinal (values(i).ordinal is always equal to i).

    Holds an indexed sequence of all enum values, ordered by their ordinal (values(i).ordinal is always equal to i).

    Definition Classes
    ValueEnumCompanionSealedEnumCompanion