Trait

org.scalatra.commands

Command

Related Doc: package commands

Permalink

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

Linear Supertypes
ParamsValueReaderProperties, BindingSyntax, BindingValidatorImplicits, AnyRef, Any
Known Subclasses
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]

    Permalink

Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def >>[S](handler: (Command.this.type) ⇒ S)(implicit executor: ExecutorView[S]): S

    Permalink
  5. def afterBinding(action: ⇒ Any): Unit

    Permalink

    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

    Permalink
  7. def asBigDecimal(name: String): FieldDescriptor[BigDecimal]

    Permalink
    Definition Classes
    BindingSyntax
  8. def asBoolean(name: String): FieldDescriptor[Boolean]

    Permalink
    Definition Classes
    BindingSyntax
  9. def asByte(name: String): FieldDescriptor[Byte]

    Permalink
    Definition Classes
    BindingSyntax
  10. def asDate(name: String): FieldDescriptor[Date]

    Permalink
    Definition Classes
    BindingSyntax
  11. def asDateTime(name: String): FieldDescriptor[DateTime]

    Permalink
    Definition Classes
    BindingSyntax
  12. def asDouble(name: String): FieldDescriptor[Double]

    Permalink
    Definition Classes
    BindingSyntax
  13. def asFloat(name: String): FieldDescriptor[Float]

    Permalink
    Definition Classes
    BindingSyntax
  14. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  15. def asInt(name: String): FieldDescriptor[Int]

    Permalink
    Definition Classes
    BindingSyntax
  16. def asLong(name: String): FieldDescriptor[Long]

    Permalink
    Definition Classes
    BindingSyntax
  17. def asSeq[T](name: String)(implicit arg0: Manifest[T]): FieldDescriptor[Seq[T]]

    Permalink
    Definition Classes
    BindingSyntax
  18. def asShort(name: String): FieldDescriptor[Short]

    Permalink
    Definition Classes
    BindingSyntax
  19. def asString(name: String): FieldDescriptor[String]

    Permalink
    Definition Classes
    BindingSyntax
  20. implicit def asType[T](name: String)(implicit arg0: Manifest[T]): FieldDescriptor[T]

    Permalink
    Definition Classes
    BindingSyntax
  21. implicit def autoBind[T](fieldName: String)(implicit arg0: Manifest[T], arg1: TypeConverterFactory[T]): Field[T]

    Permalink
  22. def beforeBinding(action: ⇒ Any): Unit

    Permalink

    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]

    Permalink
  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

    Permalink
  25. implicit def binding2field[T](field: FieldDescriptor[T])(implicit arg0: Manifest[T], arg1: TypeConverterFactory[T]): Field[T]

    Permalink
  26. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  27. var commandDescription: String

    Permalink
  28. var commandName: String

    Permalink
  29. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  30. def equals(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  31. def errors: Seq[Binding]

    Permalink

    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

    Permalink
  33. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  34. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  35. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  36. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  37. def isInvalid: Boolean

    Permalink
  38. def isValid: Boolean

    Permalink

    Check whether this command is valid.

  39. implicit def multiMapHeadViewMapValueReader[T <: MultiMapHeadView[String, String]](d: T): ValueReader[T, String]

    Permalink
    Definition Classes
    ParamsValueReaderProperties
  40. implicit def multiParamsValueReader(d: MultiParams): ValueReader[MultiParams, Seq[String]]

    Permalink
    Definition Classes
    ParamsValueReaderProperties
  41. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  42. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  43. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  44. implicit def stringMapValueReader(d: Map[String, String]): ValueReader[Map[String, String], String]

    Permalink
    Definition Classes
    ParamsValueReaderProperties
  45. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  46. def toString(): String

    Permalink
    Definition Classes
    Command → AnyRef → Any
  47. def typeConverterBuilder[I](tc: CommandTypeConverterFactory[_]): PartialFunction[ValueReader[_, _], TypeConverter[I, _]]

    Permalink
  48. implicit def validatableGenericBinding[T](b: FieldDescriptor[T]): ValidatableGenericBinding[T]

    Permalink
    Definition Classes
    BindingValidatorImplicits
  49. implicit def validatableOrderedBinding[T](b: FieldDescriptor[T])(implicit arg0: (T) ⇒ Ordered[T]): ValidatableOrdered[T]

    Permalink
    Definition Classes
    BindingValidatorImplicits
  50. implicit def validatableSeqBinding[T <: Seq[_]](b: FieldDescriptor[T]): ValidatableSeq[T]

    Permalink
    Definition Classes
    BindingValidatorImplicits
  51. implicit def validatableStringBinding(b: FieldDescriptor[String]): ValidatableStringBinding

    Permalink
    Definition Classes
    BindingValidatorImplicits
  52. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  53. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  54. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from ParamsValueReaderProperties

Inherited from BindingSyntax

Inherited from BindingValidatorImplicits

Inherited from AnyRef

Inherited from Any

Ungrouped