aboutsummaryrefslogtreecommitdiff
path: root/src/main/scala/Generators.scala
blob: 402f87f1d408c64e5c9c2138ad4ddc13b8146c5c (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import slick.codegen.SourceCodeGenerator
import slick.{model => m}

class RowSourceCodeGenerator(
  model: m.Model,
  override val headerComment: String,
  override val imports: String,
  override val schemaName: String,
  fullDatabaseModel: m.Model,
  idType: Option[String],
  manualForeignKeys: Map[(String, String), (String, String)]
) extends TypedIdSourceCodeGenerator(
  fullDatabaseModel,
  idType,
  manualForeignKeys
) with RowOutputHelpers {

  override def Table = new TypedIdTable(_) { table =>
    override def Column = new TypedIdColumn(_) { }
    override def EntityType = new EntityType {
      override def code: String =
        (if (classEnabled) "final " else "") + super.code
    }

    override def code = Seq[Def](EntityType).map(_.docWithCode)
  }

  override def code = tables.map(_.code.mkString("\n")).mkString("\n\n")
}