-
Notifications
You must be signed in to change notification settings - Fork 27
Callbacks
Yuki Yoshinoya edited this page Aug 27, 2013
·
5 revisions
Scala ActiveRecord provides callback hooks for executing actions before or after the model is saved, deleted, or validated. You can override callback methods and implement logic, if necessary. Nothing is done by default.
- protected def beforeValidation(): Unit
- protected def beforeCreate(): Unit
- protected def afterCreate(): Unit
- protected def beforeUpdate(): Unit
- protected def afterUpdate(): Unit
- protected def beforeSave(): Unit
- protected def afterSave(): Unit
- protected def beforeDelete(): Unit
- protected def afterDelete(): Unit
The model methods are called in the following order when creating a new record:
- beforeValidation
- doValidate
- beforeSave
- beforeCreate
- doCreate
- afterCreate
- afterSave
The model methods are called in the following order when updating an exising record:
- beforeValidation
- doValidate
- beforeSave
- beforeUpdate
- doUpdate
- afterUpdate
- afterSave
The model methods are called in the following order when deleting an existing record:
- beforeDelete
- doDelete
- afterDelete
case class User(@Format("^[a-z]+$") @Length(min=4) var login: String) extends ActiveRecord {
@Transient
@Length(min=8, max=20)
var password: String = _
var hashedPassword: String = _
override def beforeValidation() {
login = login.trim.toLowercase
}
override def beforeSave() {
hashedPassword = SomeLibrary.encrypt(password)
}
}