t

enumeratum.values

IntPlayEnum

trait IntPlayEnum[EnumEntry <: IntEnumEntry] extends IntEnum[EnumEntry] with IntPlayPathBindableValueEnum[EnumEntry] with IntPlayQueryBindableValueEnum[EnumEntry] with IntPlayFormValueEnum[EnumEntry] with IntPlayJsonValueEnum[EnumEntry]

An IntEnum that has a lot of the Play-related implicits built-in so you can avoid boilerplate.

Things included are:

  • implicit PathBindable (for binding from request path)
  • implicit QueryStringBindable (for binding from query strings)
  • formField for doing things like Form("hello" -> MyEnum.formField)
  • implicit Json format

Example:

scala> import enumeratum.values._
scala> import play.api.data.Form
scala> import play.api.libs.json._

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

scala> object Greeting extends IntPlayEnum[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> val form = Form("greeting" -> Greeting.formField)
scala> form.bind(Map("greeting" -> "1")).value
res0: Option[Greeting] = Some(Hello)

scala> Json.toJson(Greeting.Hello) res1: JsValue = 1

Linear Supertypes
IntPlayJsonValueEnum[EnumEntry], PlayJsonValueEnum[Int, EnumEntry], IntPlayFormValueEnum[EnumEntry], PlayFormValueEnum[Int, EnumEntry], IntPlayQueryBindableValueEnum[EnumEntry], PlayQueryBindableValueEnum[Int, EnumEntry], IntPlayPathBindableValueEnum[EnumEntry], PlayPathBindableValueEnum[Int, EnumEntry], IntEnum[EnumEntry], IntEnumCompat[EnumEntry], ValueEnum[Int, EnumEntry], AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. IntPlayEnum
  2. IntPlayJsonValueEnum
  3. PlayJsonValueEnum
  4. IntPlayFormValueEnum
  5. PlayFormValueEnum
  6. IntPlayQueryBindableValueEnum
  7. PlayQueryBindableValueEnum
  8. IntPlayPathBindableValueEnum
  9. PlayPathBindableValueEnum
  10. IntEnum
  11. IntEnumCompat
  12. ValueEnum
  13. AnyRef
  14. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Abstract Value Members

  1. abstract def values: IndexedSeq[EnumEntry]
    Definition Classes
    ValueEnum

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. val baseFormatter: Formatter[Int]

    The Formatter for binding the ValueType of this ValueEnum.

    The Formatter for binding the ValueType of this ValueEnum.

    Used for building the Formatter for the entries

    Attributes
    protected
    Definition Classes
    IntPlayFormValueEnumPlayFormValueEnum
  6. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native() @HotSpotIntrinsicCandidate()
  7. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  8. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  9. macro def findValues: IndexedSeq[EnumEntry]
    Attributes
    protected
    Definition Classes
    IntEnumCompat
  10. lazy val formField: Mapping[EnumEntry]

    Field for mapping this enum in Forms

    Field for mapping this enum in Forms

    Definition Classes
    PlayFormValueEnum
  11. implicit val format: Format[EnumEntry]
    Definition Classes
    IntPlayJsonValueEnum → PlayJsonValueEnum
  12. lazy val fromPath: PathBindableExtractor[EnumEntry]

    Binder for play.api.routing.sird router

    Binder for play.api.routing.sird router

    Example:

    scala> import play.api.routing.sird._
    scala> import play.api.routing._
    scala> import play.api.mvc._
    
    scala> sealed abstract class Greeting(val value: Int) extends IntEnumEntry
    
    scala> object Greeting extends IntPlayEnum[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> val router = Router.from {
        |   case GET(p"/hello/${Greeting.fromPath(greeting)}") => Action {
        |     Results.Ok(s"$greeting")
        |   }
        | }
    scala> router.routes
    res0: Router.Routes = <function1>
    Definition Classes
    PlayPathBindableValueEnum
  13. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  14. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  15. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  16. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  17. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  18. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @HotSpotIntrinsicCandidate()
  19. implicit val pathBindable: PathBindable[EnumEntry]

    Implicit path binder for Play's default router

    Implicit path binder for Play's default router

    Definition Classes
    IntPlayPathBindableValueEnumPlayPathBindableValueEnum
  20. implicit val queryBindable: QueryStringBindable[EnumEntry]

    Implicit path binder for Play's default router

    Implicit path binder for Play's default router

    Definition Classes
    IntPlayQueryBindableValueEnumPlayQueryBindableValueEnum
  21. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  22. def toString(): String
    Definition Classes
    AnyRef → Any
  23. final lazy val valuesToEntriesMap: Map[Int, EnumEntry]
    Definition Classes
    ValueEnum
  24. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  25. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  26. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. def withValue(i: Int): EnumEntry
    Definition Classes
    ValueEnum
    Annotations
    @SuppressWarnings()
  28. def withValueEither(i: Int): Either[NoSuchMember[Int, ValueEnumEntry[Int]], EnumEntry]
    Definition Classes
    ValueEnum
  29. def withValueOpt(i: Int): Option[EnumEntry]
    Definition Classes
    ValueEnum

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] ) @Deprecated
    Deprecated

Inherited from IntPlayJsonValueEnum[EnumEntry]

Inherited from PlayJsonValueEnum[Int, EnumEntry]

Inherited from IntPlayFormValueEnum[EnumEntry]

Inherited from PlayFormValueEnum[Int, EnumEntry]

Inherited from IntPlayQueryBindableValueEnum[EnumEntry]

Inherited from PlayQueryBindableValueEnum[Int, EnumEntry]

Inherited from IntPlayPathBindableValueEnum[EnumEntry]

Inherited from PlayPathBindableValueEnum[Int, EnumEntry]

Inherited from IntEnum[EnumEntry]

Inherited from IntEnumCompat[EnumEntry]

Inherited from ValueEnum[Int, EnumEntry]

Inherited from AnyRef

Inherited from Any

Ungrouped