# HG changeset patch # User "Tomas Zeman " # Date 1287475445 -7200 # Node ID d45ef9f0c1ae5e27e5a1883673defe6ce438b103 # Parent f1b6c7418cb8d8cfb9e52f5518fc624f232374fe Lift mapper/meta mapper diff -r f1b6c7418cb8 -r d45ef9f0c1ae scala/lift/model.scala --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/scala/lift/model.scala Tue Oct 19 10:04:05 2010 +0200 @@ -0,0 +1,58 @@ +/* + * Copyright ... + */ +package example + +import net.liftweb.common._ +import net.liftweb.mapper._ + +/** + * Mixin into mapper + */ +trait Named { self: BaseMapper => + object name extends MappedPoliteString[MapperType]( + this.asInstanceOf[MapperType], 40) { + + override def displayName = "Name" + + import net.liftweb.util.Helpers._ + override def toForm = super.toForm map { _ % ("class" -> "text") } + } +} + +object Example extends Example with LongKeyedMetaMapper[Example] + with LongCRUDify[Example] { + + override def dbTableName = "..." + + override def validation = validateSomething _ :: super.validation + + def validateSomething(v: Example): List[FieldError] = ... + + override def afterSave = ... + + override def fieldOrder = List(...) + override def fieldsForList = List(...) +} + +class Example extends LongKeyedMapper[Example] with IdPK + with CreatedUpdated with Named with OneToMany[Long, Example] { + + def getSingleton = Example + + object children extends MappedOneToMany[Child](Child, Child.parent) + with Cascade[Child] + + object stringField extends MappedString(this, 40) + + object longField extends MappedLong(this) + + object textField extends MappedTextarea(this, 4096) { + override def defaultValue = "" + override def setFilter = crop _ :: super.setFilter + } + + override def formFields = List(..) +} + +// vim: set ts=2 sw=2 et: