Packages

t

slick.codegen

OutputHelpers

trait OutputHelpers extends AnyRef

Output-related code-generation utilities.

Source
OutputHelpers.scala
Linear Supertypes
AnyRef, Any
Known Subclasses
Type Hierarchy
Ordering
  1. Grouped
  2. Alphabetic
  3. By Inheritance
Inherited
  1. OutputHelpers
  2. AnyRef
  3. Any
Implicitly
  1. by StringFormat
  2. by Ensuring
  3. by ArrowAssoc
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Basic customization overrides

  1. def packageCode(profile: String, pkg: String, container: String, parentType: Option[String]): String

    Generates code providing the data model as trait and object in a Scala package

    Generates code providing the data model as trait and object in a Scala package

    profile

    Slick profile that is imported in the generated package (e.g. slick.jdbc.H2Profile)

    pkg

    Scala package the generated code is placed in

    container

    The name of a trait and an object the generated code will be placed in within the specified package.

  2. def packageContainerCode(profile: String, pkg: String, container: String = "Tables"): String

    Generates code providing the stand-alone slick data model for immediate use.

    Generates code providing the stand-alone slick data model for immediate use.

    profile

    Slick profile that is imported in the generated package (e.g. scala.slick.driver.H2Driver)

    pkg

    Scala package the generated code is placed in

    container

    The name of a trait and an object the generated code will be placed in within the specified package.

  3. def packageTableCode(tableName: String, tableCode: String, pkg: String, container: String): String

    Generates code for the given table.

    Generates code for the given table. The tableName and tableCode parameters should come from the #codePerTable map.

    tableName

    : the name of the table

    tableCode

    : the generated code for the table.

    pkg

    Scala package the generated code is placed in

    container

    The name of the container

Output

  1. def writeStringToFile(content: String, folder: String, pkg: String, fileName: String): Unit

    Writes given content to a file.

    Writes given content to a file. Ensures the file ends with a newline character.

  2. def writeToFile(profile: String, folder: String, pkg: String, container: String = "Tables", fileName: String = "Tables.scala"): Unit

    Generates code and writes it to a file.

    Generates code and writes it to a file. Creates a folder structure for the given package inside the given srcFolder and places the new file inside or overrides the existing one.

    profile

    Slick profile that is imported in the generated package (e.g. slick.jdbc.H2Profile)

    folder

    target folder, in which the package structure folders are placed

    pkg

    Scala package the generated code is placed in (a subfolder structure will be created within srcFolder)

    container

    The name of a trait and an object the generated code will be placed in within the specified package.

    fileName

    Name of the output file, to which the code will be written

  3. def writeToMultipleFiles(profile: String, folder: String, pkg: String, container: String = "Tables"): Unit

    Generates code and writes it to multiple files.

    Generates code and writes it to multiple files. Creates a folder structure for the given package inside the given srcFolder and places the new files inside or overrides the existing one.

    profile

    Slick profile that is imported in the generated package (e.g. scala.slick.driver.H2Driver)

    folder

    target folder, in which the output files are placed

    pkg

    Scala package the generated code is placed in (a subfolder structure will be created within srcFolder)

    container

    The name of a trait and an object the generated code will be placed in within the specified package.

Ungrouped

  1. abstract def code: String
  2. abstract def codeForContainer: String

    The generated code used to generate the container class.

  3. abstract def codePerTable: Map[String, String]

    The generated code stored in a map that associates the scala filename with the generated code (this map contains one entry per table).

  4. abstract def foreignKeysPerTable: Map[String, List[String]]

    Foreign keys used for mapping a minimal set of dependencies between tables.

  5. abstract def indent(code: String): String

    Indents all but the first line of the given string No indent is added to empty lines.

  6. def parentType: Option[String]

    The parent type of the generated main trait.

    The parent type of the generated main trait. This can be overridden in subclasses.

  7. def rootTraitCode(profile: String, pkg: String, container: String = "Tables"): String