![JAR search and dependency download from the Maven repository](/logo.png)
scala.field.impl_fk.ssp Maven / Gradle / Ivy
The newest version!
<%
// Copyright 2013 Foursquare Labs Inc. All Rights Reserved.
import com.foursquare.spindle.codegen.runtime.ScalaField
%>
<%@ val field: ScalaField %>
private var ${field.varName}Obj: AnyRef = null
private var ${field.varName}AlternateObj: AnyRef = null
override def ${field.name}Fk[R <: com.foursquare.spindle.Record[R] with com.foursquare.spindle.HasPrimaryKey[${field.renderType.text}, R]](meta: com.foursquare.spindle.MetaRecord[R, _]): Option[R] = {
if (${field.isSetName}) {
if (${field.varName}Obj != null) {
val foreignOpt = meta.ifInstanceFrom(${field.varName}Obj)
if (foreignOpt.isDefined) {
val foreignObj = foreignOpt.get
if (foreignObj.primaryKey == ${field.name}OrThrow) {
foreignOpt
} else {
com.foursquare.spindle.RuntimeHelpers.fkHooks.mismatchedPrimaryKey(this, this.meta.${field.escapedName}, meta, ${field.name}OrThrow, foreignObj)
}
} else {
com.foursquare.spindle.RuntimeHelpers.fkHooks.mismatchedInstanceType(this, this.meta.${field.escapedName}, meta, ${field.name}OrThrow, ${field.varName}Obj)
}
} else {
com.foursquare.spindle.RuntimeHelpers.fkHooks.missingObj(this, this.meta.${field.escapedName}, meta, ${field.name}OrThrow)
}
} else {
com.foursquare.spindle.RuntimeHelpers.fkHooks.missingKey(this, this.meta.${field.escapedName}, meta)
}
}
override def ${field.name}UntypedFk(meta: com.foursquare.spindle.UntypedMetaRecord): Option[com.foursquare.spindle.UntypedRecord with com.foursquare.spindle.SemitypedHasPrimaryKey[${field.renderType.text}]] = {
val foreignOpt = meta.untypedIfInstanceFrom(${field.varName}Obj).asInstanceOf[Option[com.foursquare.spindle.UntypedRecord with com.foursquare.spindle.SemitypedHasPrimaryKey[${field.renderType.text}]]]
if (${field.isSetName} && foreignOpt.isDefined && foreignOpt.get.primaryKey == ${field.name}OrThrow) {
foreignOpt
} else {
${field.varName}Obj = null
None
}
}
override def ${field.name}GetObj: Option[com.foursquare.spindle.SemitypedHasPrimaryKey[${field.renderType.text}]] = {
if (${field.varName}Obj != null) {
Some(${field.varName}Obj.asInstanceOf[com.foursquare.spindle.SemitypedHasPrimaryKey[${field.renderType.text}]])
} else {
None
}
}
override def ${field.name}SetObj(x: com.foursquare.spindle.SemitypedHasPrimaryKey[${field.renderType.text}]): Unit = {
${field.varName}Obj = x
}
override def ${field.name}AlternateFk: Option[AnyRef] = {
if (${field.isSetName} && ${field.varName}AlternateObj != null) {
Some(${field.varName}AlternateObj)
} else {
com.foursquare.spindle.RuntimeHelpers.fkHooks.missingAlternateObj(this, this.meta.${field.escapedName}, ${field.name}Option)
}
}
override def ${field.name}SetAlternateObj(x: AnyRef): Unit = {
${field.varName}AlternateObj = x
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy