class
CaseClassShape[P <: Product, LiftedTuple, LiftedCaseClass <: P, PlainTuple, PlainCaseClass <: P] extends MappedScalaProductShape[FlatShapeLevel, P, LiftedCaseClass, PlainCaseClass, LiftedCaseClass]
Instance Constructors
-
new
CaseClassShape(mapLifted: (LiftedTuple) ⇒ LiftedCaseClass, mapPlain: (PlainTuple) ⇒ PlainCaseClass)(implicit columnShapes: Shape[FlatShapeLevel, LiftedTuple, PlainTuple, LiftedTuple], classTag: ClassTag[PlainCaseClass])
Type Members
-
type
Mixed = LiftedCaseClass
-
type
Packed = LiftedCaseClass
-
type
Unpacked = PlainCaseClass
Value Members
-
final
def
!=(arg0: Any): Boolean
-
final
def
##(): Int
-
def
+(other: String): String
-
def
->[B](y: B): (CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass], B)
-
final
def
==(arg0: Any): Boolean
-
final
def
asInstanceOf[T0]: T0
-
def
buildParams(extract: (Any) ⇒ Unpacked): Packed
-
def
buildValue(elems: IndexedSeq[Any]): LiftedCaseClass
-
implicit
val
classTag: ClassTag[PlainCaseClass]
-
def
clone(): AnyRef
-
def
copy(s: Seq[Shape[_ <: ShapeLevel, _, _, _]]): CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass]
-
def
encodeRef(value: Mixed, path: Node): Any
-
def
ensuring(cond: (CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass]) ⇒ Boolean, msg: ⇒ Any): CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass]
-
def
ensuring(cond: (CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass]) ⇒ Boolean): CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass]
-
def
ensuring(cond: Boolean, msg: ⇒ Any): CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass]
-
def
ensuring(cond: Boolean): CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass]
-
final
def
eq(arg0: AnyRef): Boolean
-
def
equals(arg0: Any): Boolean
-
def
finalize(): Unit
-
def
formatted(fmtstr: String): String
-
final
def
getClass(): Class[_]
-
def
getElement(value: P, idx: Int): Any
-
def
getIterator(value: P): Iterator[Any]
-
def
hashCode(): Int
-
final
def
isInstanceOf[T0]: Boolean
-
final
def
ne(arg0: AnyRef): Boolean
-
final
def
notify(): Unit
-
final
def
notifyAll(): Unit
-
-
-
val
shapes: Seq[Shape[_ <: ShapeLevel, _, _, _]]
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
-
-
def
toMapped(v: Any): PlainCaseClass
-
-
def
toString(): String
-
final
def
wait(): Unit
-
final
def
wait(arg0: Long, arg1: Int): Unit
-
final
def
wait(arg0: Long): Unit
-
def
→[B](y: B): (CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass], B)
Inherited from AnyRef
Inherited from Any
Inherited by implicit conversion any2stringadd from
CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass] to any2stringadd[CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass]]
Inherited by implicit conversion StringFormat from
CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass] to StringFormat[CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass]]
Inherited by implicit conversion Ensuring from
CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass] to Ensuring[CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass]]
Inherited by implicit conversion ArrowAssoc from
CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass] to ArrowAssoc[CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass]]
A generic case class shape that can be used to lift a case class of plain Scala types to a case class of lifted types. This allows the type to be used as a record type (like tuples and HLists) in the Lifted Embedding.
Example: