trait Command extends BindingSyntax with ParamsValueReaderProperties

Trait that identifies a Command object, i.e. a Scala class instance which fields are bound to external parameters taken from Scalatra' params object.

An usage example can be seen below:

class PersonForm extends Command {

 import Command._

 val name = bind[String]("f_name")
 val surname = bind[String]("f_surname")
 val age = bind[Int]("f_age")
 val registeredOn = bind[Date]("f_reg_date" -> "yyyyMMdd")
}

In the example above, class field name will be bound, at runtime, with a parameter named f_name and so on. The binding is typed and for every registered type T (see org.scalatra.util.conversion.DefaultImplicitConversions for a list of all availables) an automatic conversion (String) => T will take place during binding phase.

After that binding has been performed (i.e. after that org.scalatra.commands.Command#bindTo() has been called) on a specific instance, it is possible retrieve field values as scalaz.Validation, i.e.:

val form = new PersonForm
form.doBinding(params)
val registrationDate = form.registeredOn.value.getOrElse(new Date())
Version

0.1

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Command
  2. ParamsValueReaderProperties
  3. BindingSyntax
  4. BindingValidatorImplicits
  5. AnyRef
  6. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract type CommandTypeConverterFactory[T] <: TypeConverterFactory[T]

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. def >>[S](handler: (Command.this.type) ⇒ S)(implicit executor: ExecutorView[S]): S
  5. def afterBinding(action: ⇒ Any): Unit

    Add an action that will be evaluated after field binding has been done.

    Add an action that will be evaluated after field binding has been done.

    Attributes
    protected
  6. def apply[S](handler: (Command.this.type) ⇒ S)(implicit executor: ExecutorView[S]): S
  7. def asBigDecimal(name: String): FieldDescriptor[BigDecimal]
    Definition Classes
    BindingSyntax
  8. def asBoolean(name: String): FieldDescriptor[Boolean]
    Definition Classes
    BindingSyntax
  9. def asByte(name: String): FieldDescriptor[Byte]
    Definition Classes
    BindingSyntax
  10. def asDate(name: String): FieldDescriptor[Date]
    Definition Classes
    BindingSyntax
  11. def asDateTime(name: String): FieldDescriptor[DateTime]
    Definition Classes
    BindingSyntax
  12. def asDouble(name: String): FieldDescriptor[Double]
    Definition Classes
    BindingSyntax
  13. def asFloat(name: String): FieldDescriptor[Float]
    Definition Classes
    BindingSyntax
  14. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  15. def asInt(name: String): FieldDescriptor[Int]
    Definition Classes
    BindingSyntax
  16. def asLong(name: String): FieldDescriptor[Long]
    Definition Classes
    BindingSyntax
  17. def asSeq[T](name: String)(implicit arg0: Manifest[T]): FieldDescriptor[Seq[T]]
    Definition Classes
    BindingSyntax
  18. def asShort(name: String): FieldDescriptor[Short]
    Definition Classes
    BindingSyntax
  19. def asString(name: String): FieldDescriptor[String]
    Definition Classes
    BindingSyntax
  20. implicit def asType[T](name: String)(implicit arg0: Manifest[T]): FieldDescriptor[T]
    Definition Classes
    BindingSyntax
  21. implicit def autoBind[T](fieldName: String)(implicit arg0: Manifest[T], arg1: TypeConverterFactory[T]): Field[T]
  22. def beforeBinding(action: ⇒ Any): Unit

    Add an action that will be evaluated before field binding occurs.

    Add an action that will be evaluated before field binding occurs.

    Attributes
    protected
  23. implicit def bind[T](field: FieldDescriptor[T])(implicit mf: Manifest[T], conv: TypeConverterFactory[T]): FieldDescriptor[T]
  24. def bindTo[S, I](data: S, params: MultiParams = MultiMap.empty, headers: Map[String, String] = Map.empty)(implicit r: (S) ⇒ ValueReader[S, I], mi: Manifest[I], multiParams: (MultiParams) ⇒ ValueReader[MultiParams, Seq[String]]): Command.this.type
  25. implicit def binding2field[T](field: FieldDescriptor[T])(implicit arg0: Manifest[T], arg1: TypeConverterFactory[T]): Field[T]
  26. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. val commandDescription: String
  28. val commandName: String
  29. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  30. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  31. def errors: Seq[Binding]

    Return a Map of all field command error keyed by field binding name (NOT the name of the variable in command object).

  32. def execute[S](handler: (Command.this.type) ⇒ S)(implicit executor: ExecutorView[S]): S
  33. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  34. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  35. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  36. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  37. def isInvalid: Boolean
  38. def isValid: Boolean

    Check whether this command is valid.

  39. implicit def multiMapHeadViewMapValueReader[T <: MultiMapHeadView[String, String]](d: T): ValueReader[T, String]
    Definition Classes
    ParamsValueReaderProperties
  40. implicit def multiParamsValueReader(d: MultiParams): ValueReader[MultiParams, Seq[String]]
    Definition Classes
    ParamsValueReaderProperties
  41. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  42. final def notify(): Unit
    Definition Classes
    AnyRef
  43. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  44. implicit def stringMapValueReader(d: Map[String, String]): ValueReader[Map[String, String], String]
    Definition Classes
    ParamsValueReaderProperties
  45. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  46. def toString(): String
    Definition Classes
    Command → AnyRef → Any
  47. def typeConverterBuilder[I](tc: CommandTypeConverterFactory[_]): PartialFunction[ValueReader[_, _], TypeConverter[I, _]]
  48. implicit def validatableGenericBinding[T](b: FieldDescriptor[T]): ValidatableGenericBinding[T]
    Definition Classes
    BindingValidatorImplicits
  49. implicit def validatableOrderedBinding[T](b: FieldDescriptor[T])(implicit T: (T) ⇒ Ordered[T]): ValidatableOrdered[T]
    Definition Classes
    BindingValidatorImplicits
  50. implicit def validatableSeqBinding[T <: Seq[_]](b: FieldDescriptor[T]): ValidatableSeq[T]
    Definition Classes
    BindingValidatorImplicits
  51. implicit def validatableStringBinding(b: FieldDescriptor[String]): ValidatableStringBinding
    Definition Classes
    BindingValidatorImplicits
  52. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  53. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  54. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from BindingSyntax

Inherited from BindingValidatorImplicits

Inherited from AnyRef

Inherited from Any

Ungrouped