scala/lift/model.scala
changeset 3 d45ef9f0c1ae
equal deleted inserted replaced
2:f1b6c7418cb8 3:d45ef9f0c1ae
       
     1 /*
       
     2  * Copyright ...
       
     3  */
       
     4 package example
       
     5 
       
     6 import net.liftweb.common._
       
     7 import net.liftweb.mapper._
       
     8 
       
     9 /**
       
    10  * Mixin into mapper
       
    11  */
       
    12 trait Named { self: BaseMapper =>
       
    13   object name extends MappedPoliteString[MapperType](
       
    14     this.asInstanceOf[MapperType], 40) {
       
    15 
       
    16     override def displayName = "Name"
       
    17 
       
    18     import net.liftweb.util.Helpers._
       
    19     override def toForm = super.toForm map { _ % ("class" -> "text") }
       
    20   }
       
    21 }
       
    22 
       
    23 object Example extends Example with LongKeyedMetaMapper[Example]
       
    24   with LongCRUDify[Example] {
       
    25 
       
    26   override def dbTableName = "..."
       
    27 
       
    28   override def validation = validateSomething _ :: super.validation
       
    29 
       
    30   def validateSomething(v: Example): List[FieldError] = ...
       
    31 
       
    32   override def afterSave = ...
       
    33 
       
    34   override def fieldOrder = List(...)
       
    35   override def fieldsForList = List(...)
       
    36 }
       
    37 
       
    38 class Example extends LongKeyedMapper[Example] with IdPK
       
    39   with CreatedUpdated with Named with OneToMany[Long, Example] {
       
    40 
       
    41   def getSingleton = Example
       
    42 
       
    43   object children extends MappedOneToMany[Child](Child, Child.parent)
       
    44     with Cascade[Child]
       
    45 
       
    46   object stringField extends MappedString(this, 40)
       
    47 
       
    48   object longField extends MappedLong(this)
       
    49 
       
    50   object textField extends MappedTextarea(this, 4096) {
       
    51     override def defaultValue = ""
       
    52     override def setFilter = crop _ :: super.setFilter
       
    53   }
       
    54 
       
    55   override def formFields = List(..)
       
    56 }
       
    57 
       
    58 // vim: set ts=2 sw=2 et: