sealed trait ValueEnum[ValueType, EntryType <: ValueEnumEntry[ValueType]] extends AnyRef
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
- Alphabetic
- By Inheritance
- ValueEnum
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Abstract Value Members
- abstract def values: IndexedSeq[EntryType]
The sequence of values for your Enum.
The sequence of values for your Enum. You will typically want to implement this in your extending class as a
val
so thatwithValue
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.
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @HotSpotIntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @HotSpotIntrinsicCandidate()
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final lazy val valuesToEntriesMap: Map[ValueType, EntryType]
Map of ValueType to EntryType members
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- def withValue(i: ValueType): EntryType
Tries to get an EntryType by the supplied value.
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.- Annotations
- @SuppressWarnings()
- 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. - def withValueOpt(i: ValueType): Option[EntryType]
Optionally returns an EntryType for a given value.
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated @Deprecated
- Deprecated