StringPlayEnum
A StringEnum 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
See IntPlayEnum for example usage.
Attributes
- Graph
-
- Supertypes
-
trait StringPlayJsonValueEnum[EnumEntry]trait PlayJsonValueEnum[String, EnumEntry]trait StringPlayFormValueEnum[EnumEntry]trait StringPlayQueryBindableValueEnum[EnumEntry]trait StringPlayPathBindableValueEnum[EnumEntry]trait StringEnum[EnumEntry]trait ValueEnum[String, EnumEntry]class Objecttrait Matchableclass AnyShow all
Members list
Value members
Inherited methods
Returns a Seq of A objects that the macro was able to find.
Returns a Seq of A objects that the macro was able to find.
You will want to use this in some way to implement your values method. In fact, if you aren't using this method...why are you even bothering with this lib?
Attributes
- Inherited from:
- StringEnumCompat (hidden)
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
- Inherited from:
- ValueEnum
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
- Inherited from:
- ValueEnum
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
- Inherited from:
- ValueEnum
Optionally returns an EntryType for a given value.
Optionally returns an EntryType for a given value.
Attributes
- Inherited from:
- ValueEnum
Inherited fields
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
- Inherited from:
- StringPlayFormValueEnum
Field for mapping this enum in Forms
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>
Attributes
- Inherited from:
- PlayPathBindableValueEnum
Map of ValueType to EntryType members
Map of ValueType to EntryType members
Attributes
- Inherited from:
- ValueEnum
Implicits
Inherited implicits
Implicit JSON format for the entries of this enum
Implicit JSON format for the entries of this enum
Attributes
- Inherited from:
- StringPlayJsonValueEnum
Implicit path binder for Play's default router
Implicit path binder for Play's default router
Attributes
- Inherited from:
- StringPlayPathBindableValueEnum
Implicit path binder for Play's default router
Implicit path binder for Play's default router
Attributes
- Inherited from:
- StringPlayQueryBindableValueEnum