c

com.avsystem.commons.misc

AbstractValueEnumCompanion

abstract class AbstractValueEnumCompanion[T <: ValueEnum] extends AbstractNamedEnumCompanion[T] with ValueEnumCompanion[T]

Convenience abstract class implementing ValueEnumCompanion. For less generated code, faster compilation and better binary compatibility it's better to use this abstract class rather than ValueEnumCompanion trait directly. See ValueEnum documentation for more information on value based enums.

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. AbstractValueEnumCompanion
  2. ValueEnumCompanion
  3. AbstractNamedEnumCompanion
  4. NamedEnumCompanion
  5. AbstractSealedEnumCompanion
  6. SealedEnumCompanion
  7. AnyRef
  8. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new AbstractValueEnumCompanion()

Type Members

  1. type Value = T
    Definition Classes
    ValueEnumCompanion

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: AbstractValueEnumCompanion.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