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
  2. final class ValName extends AnyRef
    Attributes
    protected[this]
    Definition Classes
    ValueEnumCompanion

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]
    Definition Classes
    ValueEnumCompanion
  10. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  11. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  12. 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
  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]
    Definition Classes
    ValueEnumCompanion
  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 ValueEnumCompanion[T]

Inherited from AbstractNamedEnumCompanion[T]

Inherited from NamedEnumCompanion[T]

Inherited from AbstractSealedEnumCompanion[T]

Inherited from SealedEnumCompanion[T]

Inherited from AnyRef

Inherited from Any

Ungrouped