Hi, For anyone who may use Double as a primary key. I know it is not usual but still doubles are prett usefull as indexes.
----------- trait DoubleKeyedMetaMapper[A <: DoubleKeyedMapper[A]] extends KeyedMetaMapper[Double, A] { self: A => } trait DoubleKeyedMapper[OwnerType <: DoubleKeyedMapper[OwnerType]] extends KeyedMapper[Double, OwnerType] with BaseDoubleKeyedMapper { self: OwnerType => } trait BaseDoubleKeyedMapper extends BaseKeyedMapper { override type TheKeyType = Double } class MappedDoubleIndex[T<:Mapper[T]](theOwner: T) extends MappedDouble [T](theOwner) with IndexedField[Double] { override def writePermission_? = false // not writable override def dbIndexed_? = true def defined_? = i_is_! != defaultValue override def dbPrimaryKey_? = true override def defaultValue = 0.0 override def dbIndexFieldIndicatesSaved_? = {i_is_! != defaultValue} def makeKeyJDBCFriendly(in: Double) = new _root_.java.lang.Double (in) def convertKey(in: String): Box[Double] = { if (in eq null) Empty else tryo(toLong(if (in.startsWith(name + "=")) in.substring((name + "=").length) else in)) } override def dbDisplay_? = false def convertKey(in : Double): Box[Double] = { if (in < 0L) Empty else Full(in) } def convertKey(in : Int): Box[Double] = { if (in < 0) Empty else Full(in) } def convertKey(in : Long): Box[Double] = { if (in < 0) Empty else Full(in) } def convertKey(in : AnyRef): Box[Double] = { if ((in eq null) || (in eq None)) Empty else tryo(convertKey(in.toString)).flatMap(s => s) } override def fieldCreatorString(dbType: DriverType, colName: String): String = colName + " " + dbType.doubleColumnType + " NOT NULL" } --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Lift" group. To post to this group, send email to liftweb@googlegroups.com To unsubscribe from this group, send email to liftweb+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/liftweb?hl=en -~----------~----~----~----~------~----~------~--~---