ProductNodeShape

slick.lifted.ProductNodeShape
abstract class ProductNodeShape[Level <: ShapeLevel, C, M <: C, U <: C, P <: C] extends Shape[Level, M, U, P]

Base class for Shapes of record values which are represented by ProductNodes in the AST.

Attributes

C

The supertype for the record values.

M

The mixed type of the Shape (a subtype of C).

P

The fully packed type of the Shape (a subtype of C).

U

The unpacked type of the Shape (a subtype of C).

Source:
Shape.scala
Graph
Supertypes
class Shape[Level, M, U, P]
class Object
trait Matchable
class Any
Known subtypes
class MappedProductShape[Level, C, M, U, P]
class MappedScalaProductShape[Level, C, M, U, P]
class HListShape[Level, M, U, P]
class CaseClassShape[P, LiftedTuple, LiftedCaseClass, PlainTuple, PlainCaseClass]
class ProductClassShape[E, C]
class TupleShape[Level, M, U, P]

Members list

Concise view

Type members

Inherited types

type Mixed = Mixed_

Attributes

Inherited from:
Shape
Source:
Shape.scala
type Packed = Packed_

Attributes

Inherited from:
Shape
Source:
Shape.scala
type Unpacked = Unpacked_

Attributes

Inherited from:
Shape
Source:
Shape.scala

Value members

Abstract methods

def buildValue(elems: IndexedSeq[Any]): Any

Build a record value represented by this Shape from its element values.

Build a record value represented by this Shape from its element values.

Attributes

Source:
Shape.scala
def copy(shapes: Seq[Shape[_ <: ShapeLevel, _, _, _]]): Shape[Level, _, _, _]

Create a copy of this Shape with new element Shapes. This is used for packing Shapes recursively.

Create a copy of this Shape with new element Shapes. This is used for packing Shapes recursively.

Attributes

Source:
Shape.scala
def getElement(value: C, idx: Int): Any

Get the element value from a record value at the specified index.

Get the element value from a record value at the specified index.

Attributes

Source:
Shape.scala

Concrete methods

def buildParams(extract: Any => Unpacked): Packed

Build a packed representation containing QueryParameters that can extract data from the unpacked representation later. This method is not available for shapes where Mixed and Unpacked are different types.

Build a packed representation containing QueryParameters that can extract data from the unpacked representation later. This method is not available for shapes where Mixed and Unpacked are different types.

Attributes

Source:
Shape.scala
def encodeRef(value: Any, path: Node): Any

Encode a reference into a value of this Shape. This method may not be available for shapes where Mixed and Packed are different types.

Encode a reference into a value of this Shape. This method may not be available for shapes where Mixed and Packed are different types.

Attributes

Source:
Shape.scala
def getIterator(value: C): Iterator[Any]

Get an Iterator of a record value's element values. The default implementation repeatedly calls getElement.

Get an Iterator of a record value's element values. The default implementation repeatedly calls getElement.

Attributes

Source:
Shape.scala
def pack(value: Any): Packed

Convert a value of this Shape's (mixed) type to the fully packed type

Convert a value of this Shape's (mixed) type to the fully packed type

Attributes

Source:
Shape.scala

Return the fully packed Shape

Return the fully packed Shape

Attributes

Source:
Shape.scala
def toNode(value: Any): Node

Return an AST Node representing a mixed value.

Return an AST Node representing a mixed value.

Attributes

Source:
Shape.scala
override def toString: String

Returns a string representation of the object.

Returns a string representation of the object.

The default representation is platform dependent.

Attributes

Returns:

a string representation of the object.

Definition Classes
Any
Source:
Shape.scala

Abstract fields

val shapes: Seq[Shape[_ <: ShapeLevel, _, _, _]]

The Shapes for the product elements.

The Shapes for the product elements.

Attributes

Source:
Shape.scala