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
- All
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[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
-
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()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
-
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(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @throws( ... )
-
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
withValueOpt(i: ValueType): Option[EntryType]
Optionally returns an EntryType for a given value.