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
- Alphabetic
- By Inheritance
- Command
- ParamsValueReaderProperties
- BindingSyntax
- BindingValidatorImplicits
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
- abstract type CommandTypeConverterFactory[T] <: TypeConverterFactory[T]
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- def >>[S](handler: (Command.this.type) ⇒ S)(implicit executor: ExecutorView[S]): S
-
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
- def apply[S](handler: (Command.this.type) ⇒ S)(implicit executor: ExecutorView[S]): S
-
def
asBigDecimal(name: String): FieldDescriptor[BigDecimal]
- Definition Classes
- BindingSyntax
-
def
asBoolean(name: String): FieldDescriptor[Boolean]
- Definition Classes
- BindingSyntax
-
def
asByte(name: String): FieldDescriptor[Byte]
- Definition Classes
- BindingSyntax
-
def
asDate(name: String): FieldDescriptor[Date]
- Definition Classes
- BindingSyntax
-
def
asDateTime(name: String): FieldDescriptor[DateTime]
- Definition Classes
- BindingSyntax
-
def
asDouble(name: String): FieldDescriptor[Double]
- Definition Classes
- BindingSyntax
-
def
asFloat(name: String): FieldDescriptor[Float]
- Definition Classes
- BindingSyntax
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
asInt(name: String): FieldDescriptor[Int]
- Definition Classes
- BindingSyntax
-
def
asLong(name: String): FieldDescriptor[Long]
- Definition Classes
- BindingSyntax
-
def
asSeq[T](name: String)(implicit arg0: Manifest[T]): FieldDescriptor[Seq[T]]
- Definition Classes
- BindingSyntax
-
def
asShort(name: String): FieldDescriptor[Short]
- Definition Classes
- BindingSyntax
-
def
asString(name: String): FieldDescriptor[String]
- Definition Classes
- BindingSyntax
-
implicit
def
asType[T](name: String)(implicit arg0: Manifest[T]): FieldDescriptor[T]
- Definition Classes
- BindingSyntax
- implicit def autoBind[T](fieldName: String)(implicit arg0: Manifest[T], arg1: TypeConverterFactory[T]): Field[T]
-
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
- implicit def bind[T](field: FieldDescriptor[T])(implicit mf: Manifest[T], conv: TypeConverterFactory[T]): FieldDescriptor[T]
- 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
- implicit def binding2field[T](field: FieldDescriptor[T])(implicit arg0: Manifest[T], arg1: TypeConverterFactory[T]): Field[T]
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- val commandDescription: String
- val commandName: String
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
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).
- def execute[S](handler: (Command.this.type) ⇒ S)(implicit executor: ExecutorView[S]): S
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- def isInvalid: Boolean
-
def
isValid: Boolean
Check whether this command is valid.
-
implicit
def
multiMapHeadViewMapValueReader[T <: MultiMapHeadView[String, String]](d: T): ValueReader[T, String]
- Definition Classes
- ParamsValueReaderProperties
-
implicit
def
multiParamsValueReader(d: MultiParams): ValueReader[MultiParams, Seq[String]]
- Definition Classes
- ParamsValueReaderProperties
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
implicit
def
stringMapValueReader(d: Map[String, String]): ValueReader[Map[String, String], String]
- Definition Classes
- ParamsValueReaderProperties
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- Command → AnyRef → Any
- def typeConverterBuilder[I](tc: CommandTypeConverterFactory[_]): PartialFunction[ValueReader[_, _], TypeConverter[I, _]]
-
implicit
def
validatableGenericBinding[T](b: FieldDescriptor[T]): ValidatableGenericBinding[T]
- Definition Classes
- BindingValidatorImplicits
-
implicit
def
validatableOrderedBinding[T](b: FieldDescriptor[T])(implicit T: (T) ⇒ Ordered[T]): ValidatableOrdered[T]
- Definition Classes
- BindingValidatorImplicits
-
implicit
def
validatableSeqBinding[T <: Seq[_]](b: FieldDescriptor[T]): ValidatableSeq[T]
- Definition Classes
- BindingValidatorImplicits
-
implicit
def
validatableStringBinding(b: FieldDescriptor[String]): ValidatableStringBinding
- Definition Classes
- BindingValidatorImplicits
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )