trait CodeGeneratorComponents extends HasBasicMeta with QuerySchemaNaming
- Alphabetic
- By Inheritance
- CodeGeneratorComponents
- QuerySchemaNaming
- HasBasicMeta
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- type ColumnGetter = (ColumnMeta) => String
- abstract type ColumnMeta <: BasicColumnMeta
- Definition Classes
- HasBasicMeta
- abstract type ConnectionMaker
- type QuerySchemaNaming = (TableMeta) => String
- type SchemaReader = (ConnectionMaker) => Seq[RawSchema[TableMeta, ColumnMeta]]
- abstract type TableMeta <: BasicTableMeta
- Definition Classes
- HasBasicMeta
- abstract type TypeInfo
- type Typer = (TypeInfo) => Option[ClassTag[_]]
Abstract Value Members
- abstract def filter(tc: RawSchema[TableMeta, ColumnMeta]): Boolean
- abstract def nameParser: NameParser
- abstract def namespacer: Namespacer[TableMeta]
Take the schema of a table and convert it to something a object/package etc...
Take the schema of a table and convert it to something a object/package etc... can actually be named as i.e. a namespace.
- abstract def packagingStrategy: PackagingStrategy
- abstract def schemaReader: SchemaReader
- abstract def typer: Typer
- abstract def unrecognizedTypeStrategy: UnrecognizedTypeStrategy
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native()
- def defaultExcludedSchemas: Set[String]
- def defaultNamespace: String
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable])
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
- def querySchemaImports: String
- def querySchemaNaming: QuerySchemaNaming
When defining your query schema object, this will name the method which produces the query schema.
When defining your query schema object, this will name the method which produces the query schema. It will be named
queryby default so if you are doing Table Stereotyping, be sure it's something reasonable like(ts) => ts.tableName.snakeToLowerCamelcase class Person(firstName:String, lastName:String, age:Int) object Person { // The method will be 'query' by default which is good if you are not stereotyping. def query = querySchema[Person](...)}Now let's take an example where you have a database that has two schemas
ALPHAandBRAVO, each with a table called Person and you want to stereotype the two schemas into one table case class. In this case you have to be sure that memberNamer is something like(ts) => ts.tableName.snakeToLowerCamelso you'll get a different method for every querySchema.case class Person(firstName:String, lastName:String, age:Int) object Person { // Taking ts.tableName.snakeToLowerCamel will ensure each one has a different name. Otherise // all of them will be 'query' which will result in a compile error. def alphaPerson = querySchema[Person]("ALPHA.PERSON", ...) def bravoPerson = querySchema[Person]("BRAVO.PERSON", ...)} - final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException]) @native()
- object "query" extends CodeGeneratorComponents.QuerySchemaNaming
- Definition Classes
- QuerySchemaNaming
- object [namespace][Table] extends CodeGeneratorComponents.QuerySchemaNaming
- Definition Classes
- QuerySchemaNaming