Packages

c

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.

C

The supertype for the record values.

M

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

U

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

P

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

Source
Shape.scala
Linear Supertypes
Shape[Level, M, U, P], AnyRef, Any
Type Hierarchy
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ProductNodeShape
  2. Shape
  3. AnyRef
  4. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new ProductNodeShape()

Type Members

  1. type Mixed = M
    Definition Classes
    Shape
  2. type Packed = P
    Definition Classes
    Shape
  3. type Unpacked = U
    Definition Classes
    Shape

Abstract Value Members

  1. abstract def buildValue(elems: IndexedSeq[Any]): Any

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

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

    Create a copy of this Shape with new element Shapes.

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

  3. abstract def getElement(value: C, idx: Int): Any

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

  4. abstract val shapes: Seq[Shape[_ <: ShapeLevel, _, _, _]]

    The Shapes for the product elements.

Concrete Value Members

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

    Build a packed representation containing QueryParameters that can extract data from the unpacked representation later.

    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.

    Definition Classes
    ProductNodeShapeShape
  2. def encodeRef(value: Mixed, path: Node): Any

    Encode a reference into a value of this Shape.

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

    Definition Classes
    ProductNodeShapeShape
  3. def getIterator(value: C): Iterator[Any]

    Get an Iterator of a record value's element values.

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

  4. def pack(value: Mixed): 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

    Definition Classes
    ProductNodeShapeShape
  5. def packedShape: Shape[Level, Packed, Unpacked, Packed]

    Return the fully packed Shape

    Return the fully packed Shape

    Definition Classes
    ProductNodeShapeShape
  6. def toNode(value: Mixed): Node

    Return an AST Node representing a mixed value.

    Return an AST Node representing a mixed value.

    Definition Classes
    ProductNodeShapeShape