Wiki source code of Squeryl Entity.eotemplate

Version 8.1 by Ravi Mendis on 2010/11/10 00:14

Show last authors
1 This set of templates will generate a Squeryl schema from an EO model. Still basic/proof-of-concept templates. Of course, you may customize them further.
2
3 {{code}}
4
5 #if ($entity.packageName)
6 package $entity.packageName
7 #end
8
9 import java.util.Date
10
11 class ${entity.classNameWithoutPackage}(
12 ##
13 ##java -> Scala types go here
14 ##
15 #foreach ($attribute in $entity.sortedAttributes)
16 #if ($attribute.javaClassName.equals("Integer")) #set( $scalaClassName = "Long" )
17 #elseif ($attribute.javaClassName.equals("String")) #set( $scalaClassName = "String" )
18 #elseif ($attribute.javaClassName.contains("BigDecimal")) #set( $scalaClassName = "BigDecimal" )
19 #elseif ($attribute.javaClassName.equals("NSTimestamp")) #set( $scalaClassName = "Date" )
20 #elseif ($attribute.javaClassName.equals("NSData")) #set( $scalaClassName = "Array[Byte]" ) #end
21 val ${attribute.name}:#if ($attribute.allowsNull) Option[$scalaClassName]#else $scalaClassName#end#if (!$attribute.equals($entity.sortedAttributes.last())),
22 #else
23 #end
24 #end) extends _${entity.classNameWithoutPackage}(
25 ##
26 ##java -> Scala types go here
27 ##
28 #foreach ($attribute in $entity.sortedAttributes)
29 #if ($attribute.javaClassName.equals("Integer")) #set( $scalaClassName = "Long" )
30 #elseif ($attribute.javaClassName.equals("String")) #set( $scalaClassName = "String" )
31 #elseif ($attribute.javaClassName.contains("BigDecimal")) #set( $scalaClassName = "BigDecimal" )
32 #elseif ($attribute.javaClassName.equals("NSTimestamp")) #set( $scalaClassName = "Date" )
33 #elseif ($attribute.javaClassName.equals("NSData")) #set( $scalaClassName = "Array[Byte]" ) #end
34 ${attribute.name}#if (!$attribute.equals($entity.sortedAttributes.last())),
35 #else
36 #end
37 #end) {
38 }
39
40 object $entity.classNameWithoutPackage {
41 }
42
43
44 {{/code}}