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. final class ValName extends AnyRef
    Attributes
    protected[this]
  2. type Value = T

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. 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
  6. macro def caseObjects: List[T]

    A macro which reifies a list of all case objects of the sealed trait or class T.

    A macro which reifies a list of all case objects of the sealed trait or class T. WARNING: the order of case objects in the resulting list is well defined only for enums that extend OrderedEnum. In such case, the order is consistent with declaration order in source file. However, if the enum is not an OrderedEnum, the order may be arbitrary.

    Attributes
    protected
    Definition Classes
    SealedEnumCompanion
  7. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )
  8. implicit lazy val codec: GenCodec[T]
    Definition Classes
    NamedEnumCompanion
  9. implicit def enumCtx(implicit valName: ValName): EnumCtx
    Attributes
    protected[this]
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. 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
  13. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  15. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  16. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  17. implicit lazy val keyCodec: GenKeyCodec[T]
    Definition Classes
    NamedEnumCompanion
  18. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  19. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  20. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  21. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. implicit macro def valName: ValName
    Attributes
    protected[this]
  24. 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
  25. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  26. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @throws( ... )

Inherited from NamedEnumCompanion[T]

Inherited from SealedEnumCompanion[T]

Inherited from AnyRef

Inherited from Any

Ungrouped