ValueEnum

enumeratum.values.ValueEnum
sealed trait ValueEnum[ValueType, EntryType <: ValueEnumEntry[ValueType]]

Base trait for a Value-based enums.

Example:

scala> sealed abstract class Greeting(val value: Int) extends IntEnumEntry

scala> object Greeting extends IntEnum[Greeting] {
   |   val values = findValues
   |   case object Hello   extends Greeting(1)
   |   case object GoodBye extends Greeting(2)
   |   case object Hi      extends Greeting(3)
   |   case object Bye     extends Greeting(4)
   | }

scala> Greeting.withValueOpt(1)
res0: Option[Greeting] = Some(Hello)

scala> Greeting.withValueOpt(6)
res1: Option[Greeting] = None

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait ByteEnum[A]
trait CharEnum[A]
trait IntEnum[A]
trait LongEnum[A]
trait ShortEnum[A]
trait StringEnum[A]

Members list

Concise view

Value members

Abstract methods

def values: IndexedSeq[EntryType]

The sequence of values for your Enum. You will typically want to implement this in your extending class as a val so that withValue and friends are as efficient as possible.

The sequence of values for your Enum. You will typically want to implement this in your extending class as a val so that withValue and friends are as efficient as possible.

Feel free to implement this however you'd like (including messing around with ordering, etc) if that fits your needs better.

Attributes

Concrete methods

def withValue(i: ValueType): EntryType

Tries to get an EntryType by the supplied value. The value corresponds to the .value of the case objects implementing EntryType

Tries to get an EntryType by the supplied value. The value corresponds to the .value of the case objects implementing EntryType

Like Enumeration 's withValue, this method will throw if the value does not match any of the values' .value values.

Attributes

def withValueEither(i: ValueType): Either[NoSuchMember[ValueType, ValueEnumEntry[ValueType]], EntryType]

Returns an [[Right[EntryType]] ] for a given value, or a [[Left[NoSuchMember]] ] if the value does not match any of the values' .value values.

Returns an [[Right[EntryType]] ] for a given value, or a [[Left[NoSuchMember]] ] if the value does not match any of the values' .value values.

Attributes

def withValueOpt(i: ValueType): Option[EntryType]

Optionally returns an EntryType for a given value.

Optionally returns an EntryType for a given value.

Attributes

Concrete fields

final lazy val valuesToEntriesMap: Map[ValueType, EntryType]

Map of ValueType to EntryType members

Map of ValueType to EntryType members

Attributes