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.
- Alphabetic
- By Inheritance
- AbstractValueEnumCompanion
- ValueEnumCompanion
- AbstractNamedEnumCompanion
- NamedEnumCompanion
- AbstractSealedEnumCompanion
- SealedEnumCompanion
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Instance Constructors
- new AbstractValueEnumCompanion()
Type Members
-
type
Value = T
- Definition Classes
- ValueEnumCompanion
Value Members
-
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
-
implicit
lazy val
codec: GenCodec[T]
- Definition Classes
- NamedEnumCompanion
-
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
-
implicit
lazy val
keyCodec: GenKeyCodec[T]
- Definition Classes
- NamedEnumCompanion
-
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 toi
).Holds an indexed sequence of all enum values, ordered by their ordinal (
values(i).ordinal
is always equal toi
).- Definition Classes
- ValueEnumCompanion → SealedEnumCompanion