templates.ContainerPersistenceTrait.vm Maven / Gradle / Ivy
#* @vtlvariable name="formatedFactoryName" type="java.lang.String" *#
#* @vtlvariable name="packElem" type="java.lang.String" *#
#* @vtlvariable name="ctx" type="org.kevoree.modeling.kotlin.generator.GenerationContext" *#
#* @vtlvariable name="FQNHelper" type="org.kevoree.modeling.kotlin.generator.ProcessorHelper" *#
package ${packElem}
#if($ctx.timeAware)
trait ${formatedFactoryName}PersistenceImpl : ${formatedFactoryName}Impl,org.kevoree.modeling.api.time.TimeAwareKMFContainer {
#else
trait ${formatedFactoryName}PersistenceImpl : ${formatedFactoryName}Impl,org.kevoree.modeling.api.persistence.KMFContainerProxy {
#end
fun checkLazyLoad(){
if(!isResolved){
isResolved = true
inResolution = true
val content = originFactory!!.getTraces(this)
val previousParent = internal_eContainer
internal_eContainer = null
content?.silentlyApplyOn(this)
internal_eContainer = previousParent
inResolution = false
}
}
override fun setOriginPath(path: String) {
path_cache = path
if(path != "" && path != "/"){
//set key_cache
key_cache = path.substring(path.lastIndexOf("[")+1,path.lastIndexOf("]"))
var parentPath: String = "/"
var currentParentRelationName = ""
if(path.contains("/")){
parentPath = path.substring(0, path.lastIndexOf("/"))
currentParentRelationName = path.substring(path.lastIndexOf("/") + 1, path.size - 1)
currentParentRelationName = currentParentRelationName.substring(0, currentParentRelationName.lastIndexOf("["))
}
val parentElem = originFactory!!.lookupFrom(parentPath,this)!!
internal_unsetCmd = ${FQNHelper.fqn($ctx, $ctx.basePackageForUtilitiesGeneration)}.container.RemoveFromContainerCommand(parentElem, org.kevoree.modeling.api.util.ActionType.REMOVE, currentParentRelationName, this)
internal_eContainer = parentElem
internal_containmentRefName = currentParentRelationName
}
path_cache = path
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy