Package

enumeratum

Permalink

package enumeratum

Visibility
  1. Public
  2. All

Type Members

  1. trait Enum[A <: EnumEntry] extends AnyRef

    Permalink

    All the cool kids have their own Enumeration implementation, most of which try to do so in the name of implementing exhaustive pattern matching.

    All the cool kids have their own Enumeration implementation, most of which try to do so in the name of implementing exhaustive pattern matching.

    This is yet another one.

    Example:

    scala> import enumeratum._
    
    scala> sealed trait DummyEnum extends EnumEntry
    
    scala> object DummyEnum extends Enum[DummyEnum] {
         |   val values = findValues
         |   case object Hello   extends DummyEnum
         |   case object GoodBye extends DummyEnum
         |   case object Hi      extends DummyEnum
         | }
    
    scala> DummyEnum.withNameOption("Hello")
    res0: Option[DummyEnum] = Some(Hello)
    
    scala> DummyEnum.withNameOption("Nope")
    res1: Option[DummyEnum] = None
    A

    The sealed trait

  2. trait EnumEntry extends AnyRef

    Permalink

    Base type for an enum entry for Enum

    Base type for an enum entry for Enum

    By default, the entryName method used for serialising and deserialising Enum values uses toString, but feel free to override to fit your needs.

    Mix in the supplied stackable traits to convert the entryName to Snakecase, Uppercase, Lowercase etc.

  3. final case class NoSuchMember[A <: EnumEntry](notFoundName: String, enumValues: IndexedSeq[A]) extends NoSuchElementException with NoStackTrace with Product with Serializable

    Permalink

Value Members

  1. object Enum

    Permalink
  2. object EnumEntry

    Permalink
  3. package values

    Permalink

Ungrouped