Trait

com.avsystem.commons.misc

ValueEnumCompanion

Related Doc: package misc

Permalink

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
Known Subclasses
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

    Permalink
    Attributes
    protected[this]
  2. type Value = T

    Permalink

Value Members

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

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

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  5. lazy val byName: Map[String, T]

    Permalink

    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]

    Permalink

    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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  8. implicit lazy val codec: GenCodec[T]

    Permalink
    Definition Classes
    NamedEnumCompanion
  9. implicit def enumCtx(implicit valName: ValName): EnumCtx

    Permalink
    Attributes
    protected[this]
  10. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  12. implicit def evidence: ValueEnumCompanion.this.type

    Permalink

    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

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  14. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  15. def hashCode(): Int

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

    Permalink
    Definition Classes
    Any
  17. implicit lazy val keyCodec: GenKeyCodec[T]

    Permalink
    Definition Classes
    NamedEnumCompanion
  18. final def ne(arg0: AnyRef): Boolean

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

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

    Permalink
    Definition Classes
    AnyRef
  21. final def synchronized[T0](arg0: ⇒ T0): T0

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

    Permalink
    Definition Classes
    AnyRef → Any
  23. implicit macro def valName: ValName

    Permalink
    Attributes
    protected[this]
  24. final lazy val values: commons.IIndexedSeq[T]

    Permalink

    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

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from NamedEnumCompanion[T]

Inherited from SealedEnumCompanion[T]

Inherited from AnyRef

Inherited from Any

Ungrouped