mirror of
https://github.com/querydsl/querydsl.git
synced 2026-06-24 21:07:26 +08:00
added more convenience wrappers
This commit is contained in:
parent
dcb28b4c8a
commit
9d682e5f81
@ -79,16 +79,21 @@ class ScalaEntitySerializer @Inject()(val typeMappings: TypeMappings) extends Se
|
||||
val queryTypeName = writer.getRawName(queryType)
|
||||
val classHeader = String.format(classHeaderFormat, queryTypeName, modelName)
|
||||
|
||||
writer.beginObject(queryTypeName)
|
||||
writer.beginObject(enhanceCompanionClass(queryTypeName, modelName))
|
||||
writer.line("def as(variable: String) = new ", queryTypeName, "(variable)")
|
||||
writer.line("")
|
||||
writer.line("val ", model.getUncapSimpleName, " = as(\"", model.getUncapSimpleName, "\")")
|
||||
writeAdditionalCompanionContent(model, writer)
|
||||
writer.end()
|
||||
|
||||
// header
|
||||
model.getAnnotations.foreach(writer.annotation(_))
|
||||
writer.beginClass(classHeader)
|
||||
}
|
||||
|
||||
def enhanceCompanionClass(name: String, modelName: String): String = name
|
||||
|
||||
def writeAdditionalCompanionContent(model: EntityType, writer: ScalaWriter) = {}
|
||||
|
||||
private def serializeEntityProperties(model: EntityType, writer: CodeWriter, properties: Collection[Property]) = {
|
||||
for (property <- properties if property.getType.getCategory == ENTITY) yield {
|
||||
|
||||
@ -0,0 +1,16 @@
|
||||
package com.mysema.query.scala.sql
|
||||
|
||||
import com.mysema.query.sql._
|
||||
|
||||
/**
|
||||
* To be used with RelationalPath companion objects for access to the default path
|
||||
*
|
||||
* @author tiwe
|
||||
*
|
||||
* @param <T>
|
||||
*/
|
||||
trait Relation[T] {
|
||||
|
||||
def path: RelationalPath[T]
|
||||
|
||||
}
|
||||
@ -24,7 +24,8 @@ class ScalaMetaDataSerializer @Inject() (typeMappings: TypeMappings, val namingS
|
||||
|
||||
override def writeHeader(model: EntityType, writer: ScalaWriter) {
|
||||
writer.imports(classOf[RelationalPathImpl[_]])
|
||||
writer.imports(classOf[PrimaryKey[_]].getPackage)
|
||||
writer.imports(classOf[Relation[_]])
|
||||
writer.imports(classOf[PrimaryKey[_]].getPackage)
|
||||
super.writeHeader(model, writer)
|
||||
}
|
||||
|
||||
@ -44,7 +45,18 @@ class ScalaMetaDataSerializer @Inject() (typeMappings: TypeMappings, val namingS
|
||||
model.getData.get(classOf[InverseForeignKeyData]).asInstanceOf[Collection[InverseForeignKeyData]]
|
||||
if (inverseForeignKeys != null) serializeForeignKeys(model, writer, inverseForeignKeys, true)
|
||||
}
|
||||
|
||||
|
||||
override def enhanceCompanionClass(name: String, modelName: String) = {
|
||||
name + " extends Relation[" + modelName + "]"
|
||||
}
|
||||
|
||||
override def writeAdditionalCompanionContent(model: EntityType, writer: ScalaWriter) = {
|
||||
if (model.getUncapSimpleName != "path") {
|
||||
writer.line("")
|
||||
writer.line("def path = ", model.getUncapSimpleName())
|
||||
}
|
||||
}
|
||||
|
||||
def serializePrimaryKeys(model: EntityType, writer: CodeWriter, primaryKeys: Collection[PrimaryKeyData]) {
|
||||
primaryKeys foreach { primaryKey =>
|
||||
val fieldName = namingStrategy.getPropertyNameForPrimaryKey(primaryKey.getName(), model)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user