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]
- Alphabetic
- By Inheritance
- ValueEnumCompanion
- NamedEnumCompanion
- SealedEnumCompanion
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- type Value = T
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: 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
-
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