Slide 21
Slide 21 text
Type Classes for Safe Configurability
trait LessThanEqualOp extends QueryOperator {
private val oper = "$lte"
def $lte(target: String) = op(oper, target)
def $lte(target: DBObject) = op(oper, target)
def $lte(target: Array[_]) = op(oper, target.toList)
def $lte(target: Tuple1[_]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple2[_, _]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple3[_, _, _]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple4[_, _, _, _]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple5[_, _, _, _, _]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple6[_, _, _, _, _, _]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple7[_, _, _, _, _, _, _]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple8[_, _, _, _, _, _, _, _]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple9[_, _, _, _, _, _, _, _, _]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple10[_, _, _, _, _, _, _, _, _, _]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple11[_, _, _, _, _, _, _, _, _, _, _]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple12[_, _, _, _, _, _, _, _, _, _, _, _]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple13[_, _, _, _, _, _, _, _, _, _, _, _, _]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple14[_, _, _, _, _, _, _, _, _, _, _, _, _, _]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple15[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple16[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple17[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]) = op(oper, target.productIterator.toList)
def $lte(target: Tuple18[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]) = op(oper,
target.productIterator.toList)
def $lte(target: Tuple19[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]) = op(oper,
target.productIterator.toList)
def $lte(target: Tuple20[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]) = op(oper,
target.productIterator.toList)
def $lte(target: Tuple21[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]) = op(oper,
target.productIterator.toList)
def $lte(target: Tuple22[_, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _, _]) = op(oper,
target.productIterator.toList)
def $lte(target: Iterable[_]) = op(oper, target.toList)
def $lte[T: ValidDateOrNumericType](target: T) = op(oper, target)
}