Class

slick.codegen.AbstractGenerator

TableDef

Related Doc: package AbstractGenerator

Permalink

abstract case class TableDef(model: model.Table) extends Product with Serializable

Code generator for table related code

model

corresponding Slick meta model component

Self Type
TableDef
Source
AbstractGenerator.scala
Linear Supertypes
Serializable, Serializable, Product, Equals, AnyRef, Any
Known Subclasses
Type Hierarchy
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. TableDef
  2. Serializable
  3. Serializable
  4. Product
  5. Equals
  6. AnyRef
  7. Any
Implicitly
  1. by any2stringadd
  2. by StringFormat
  3. by Ensuring
  4. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new TableDef(model: model.Table)

    Permalink

    model

    corresponding Slick meta model component

Type Members

  1. abstract type Column <: ColumnDef

    Permalink

    Column generator virtual class

  2. abstract case class ColumnDef(model: model.Column) extends TermDef with Product with Serializable

    Permalink

    Column related generator definition

    Column related generator definition

    model

    corresponding Slick meta model component

  3. trait Def extends AnyRef

    Permalink

    Common interface for any kind of definition within the generated code

  4. abstract type EntityType <: EntityTypeDef

    Permalink

    Entity case class or type alias generator virtual class

  5. trait EntityTypeDef extends TypeDef

    Permalink

    Entity case class or type alias generator definition (Mapped case class holding a complete row of data of this table).

  6. abstract type ForeignKey <: ForeignKeyDef

    Permalink

    Foreign key generator virtual class

  7. abstract case class ForeignKeyDef(model: model.ForeignKey) extends TermDef with Product with Serializable

    Permalink

    ForeignKey related generator definition

    ForeignKey related generator definition

    model

    corresponding Slick meta model component

  8. abstract type Index <: IndexDef

    Permalink

    Index generator virtual class

  9. abstract case class IndexDef(model: model.Index) extends TermDef with Product with Serializable

    Permalink

    Index related generator definition

    Index related generator definition

    model

    corresponding Slick meta model component

  10. abstract type PlainSqlMapper <: PlainSqlMapperDef

    Permalink

    Plain SQL GetResult mapper generator virtual class

  11. trait PlainSqlMapperDef extends TermDef

    Permalink

    Plain SQL GetResult mapper generator definition

  12. abstract type PrimaryKey <: PrimaryKeyDef

    Permalink

    Primary key generator virtual class

  13. abstract case class PrimaryKeyDef(model: model.PrimaryKey) extends TermDef with Product with Serializable

    Permalink

    PrimaryKey related generator definition (Currently only used for composite primary keys.)

    PrimaryKey related generator definition (Currently only used for composite primary keys.)

    model

    corresponding Slick meta model component

  14. abstract type TableClass <: TableClassDef

    Permalink

    Table class generator virtual class

  15. trait TableClassDef extends TypeDef

    Permalink

    Table class generator definition

  16. abstract type TableValue <: TableValueDef

    Permalink

    Table value generator virtual class

  17. trait TableValueDef extends TermDef

    Permalink

    Table value generator definition (generates a collection-like value representing this database table).

  18. trait TermDef extends Def

    Permalink

    Common interface for definitions that define a term (val, def, ...) within the generated code

  19. trait TypeDef extends Def

    Permalink

    Common interface for definitions that define a type (class, case class, ...) within the generated code

Abstract Value Members

  1. abstract def Column: (model.Column) ⇒ Column

    Permalink

    Column generator factory.

    Column generator factory. Override for customization.

  2. abstract def EntityType: EntityType

    Permalink

    Entity case class or type alias generator factory.

    Entity case class or type alias generator factory. Override for customization.

  3. abstract def ForeignKey: (model.ForeignKey) ⇒ ForeignKey

    Permalink

    ForeignKey generator factory.

    ForeignKey generator factory. Override for customization.

  4. abstract def Index: (model.Index) ⇒ Index

    Permalink

    Index generator factory.

    Index generator factory. Override for customization.

  5. abstract def PlainSqlMapper: PlainSqlMapper

    Permalink

    Plain SQL GetResult mapper generator factory.

    Plain SQL GetResult mapper generator factory. Override for customization.

  6. abstract def PrimaryKey: (model.PrimaryKey) ⇒ PrimaryKey

    Permalink

    PrimaryKey generator factory.

    PrimaryKey generator factory. Override for customization.

  7. abstract def TableClass: TableClass

    Permalink

    Table class generator factory.

    Table class generator factory. Override for customization.

  8. abstract def TableValue: TableValue

    Permalink

    Table value generator factory.

    Table value generator factory. Override for customization.

  9. abstract def compoundType(types: Seq[Code]): Code

    Permalink

    Creates a compound type from a given sequence of types.

    Creates a compound type from a given sequence of types. Uses HList if hlistEnabled else tuple.

  10. abstract def compoundValue(values: Seq[Code]): Code

    Permalink

    Creates a compound value from a given sequence of values.

    Creates a compound value from a given sequence of values. Uses HList if hlistEnabled else tuple.

  11. abstract def extractor: Code

    Permalink

    Function that extracts the unmapped values from an entity object

  12. abstract def factory: Code

    Permalink

    Function that constructs an entity object from the unmapped values

Concrete Value Members

  1. final def !=(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. def +(other: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from TableDef to any2stringadd[TableDef] performed by method any2stringadd in scala.Predef.
    Definition Classes
    any2stringadd
  4. def ->[B](y: B): (TableDef, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from TableDef to ArrowAssoc[TableDef] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  5. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  6. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  7. def autoIncLast: Boolean

    Permalink

    Indicates whether auto increment columns should be put last.

    Indicates whether auto increment columns should be put last. Please set to !hlistEnabled for switching this on.

  8. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  9. def code: Seq[Code]

    Permalink

    Generates the complete code for this table and its subordinate generators.

  10. final lazy val columns: Seq[Column]

    Permalink

    Column code generators in the desired user-facing order.

  11. final lazy val columnsByName: Map[String, Column]

    Permalink

    Column code generators indexed by db column name

  12. final lazy val columnsPositional: IndexedSeq[Column]

    Permalink

    Column code generators in the order they appear in the model.

  13. def definitions: Seq[Def]

    Permalink

    Definitions to be generated for this table

  14. lazy val desiredColumnOrder: Seq[Int]

    Permalink

    Database column positions in the desired user-facing order.

    Database column positions in the desired user-facing order. Currently just moves the positions of AutoInc columns to the end if autoIncLastAsOption is enabled.

  15. def ensuring(cond: (TableDef) ⇒ Boolean, msg: ⇒ Any): TableDef

    Permalink
    Implicit information
    This member is added by an implicit conversion from TableDef to Ensuring[TableDef] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  16. def ensuring(cond: (TableDef) ⇒ Boolean): TableDef

    Permalink
    Implicit information
    This member is added by an implicit conversion from TableDef to Ensuring[TableDef] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  17. def ensuring(cond: Boolean, msg: ⇒ Any): TableDef

    Permalink
    Implicit information
    This member is added by an implicit conversion from TableDef to Ensuring[TableDef] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  18. def ensuring(cond: Boolean): TableDef

    Permalink
    Implicit information
    This member is added by an implicit conversion from TableDef to Ensuring[TableDef] performed by method Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  19. final def eq(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  20. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  21. final lazy val foreignKeys: Seq[ForeignKey]

    Permalink

    Foreign key code generators

  22. def formatted(fmtstr: String): String

    Permalink
    Implicit information
    This member is added by an implicit conversion from TableDef to StringFormat[TableDef] performed by method StringFormat in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  23. final def getClass(): Class[_]

    Permalink
    Definition Classes
    AnyRef → Any
  24. def hlistEnabled: Boolean

    Permalink

    If HList should be used as a compound type instead of tuples.

    If HList should be used as a compound type instead of tuples. Only if hugeClassEnabled is false.

  25. def hugeClassEnabled: Boolean

    Permalink

    Default is true, i.e.

    Default is true, i.e. a case class will be generated even if column.size > 22. Override to false to get the code as before Slick 3.3, i.e. a HList based type will be generated instead.

  26. final lazy val indices: Seq[Index]

    Permalink

    Index code generators

  27. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  28. final def isMappedToHugeClass: Boolean

    Permalink

    Indicates if table has more than 22 columns but still has to be mapped to a case class.

  29. def mappingEnabled: Boolean

    Permalink

    Indicates if this table should be mapped using factory and extractor or not, in which case tuples are used.

    Indicates if this table should be mapped using factory and extractor or not, in which case tuples are used. (Consider overriding EntityType.enabled instead, which affects this, too.) Disabled by default when using hlists.

  30. val model: model.Table

    Permalink

    corresponding Slick meta model component

  31. final def ne(arg0: AnyRef): Boolean

    Permalink
    Definition Classes
    AnyRef
  32. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  33. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  34. final lazy val primaryKey: Option[PrimaryKey]

    Permalink

    Primary key code generator, if this table has one

  35. final def synchronized[T0](arg0: ⇒ T0): T0

    Permalink
    Definition Classes
    AnyRef
  36. final def wait(): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  37. final def wait(arg0: Long, arg1: Int): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  38. final def wait(arg0: Long): Unit

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  39. def [B](y: B): (TableDef, B)

    Permalink
    Implicit information
    This member is added by an implicit conversion from TableDef to ArrowAssoc[TableDef] performed by method ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Deprecated Value Members

  1. def autoIncLastAsOption: Boolean

    Permalink

    Indicates whether auto increment columns should be put last and made an Option with a None default.

    Indicates whether auto increment columns should be put last and made an Option with a None default. Please set to !hlistEnabled for switching this on.

    Annotations
    @deprecated
    Deprecated

    (Since version 3.2.0) Use autoIncLast = true and ColumnDef.asOption = autoInc instead.

Inherited from Serializable

Inherited from Serializable

Inherited from Product

Inherited from Equals

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from TableDef to any2stringadd[TableDef]

Inherited by implicit conversion StringFormat from TableDef to StringFormat[TableDef]

Inherited by implicit conversion Ensuring from TableDef to Ensuring[TableDef]

Inherited by implicit conversion ArrowAssoc from TableDef to ArrowAssoc[TableDef]

Basic customization now overrides

Basic customization overrides

Ungrouped