templates.v4_1.embeddable-subclass.vm Maven / Gradle / Ivy
## Licensed to the Apache Software Foundation (ASF) under one
## or more contributor license agreements. See the NOTICE file
## distributed with this work for additional information
## regarding copyright ownership. The ASF licenses this file
## to you under the Apache License, Version 2.0 (the
## "License"); you may not use this file except in compliance
## with the License. You may obtain a copy of the License at
##
## https://www.apache.org/licenses/LICENSE-2.0
##
## Unless required by applicable law or agreed to in writing,
## software distributed under the License is distributed on an
## "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
## KIND, either express or implied. See the License for the
## specific language governing permissions and limitations
## under the License.
##
## Terminology:
##
## Base class - super superclass of embeddable, usually java.lang.Object
## Super class - superclass of embeddable, ie, org.apache.cayenne.art.auto._Embeddable
## Sub class - class of entity, ie, org.apache.cayenne.art.Embeddable
##
## Keys of objects available in template are defined in 'org.apache.cayenne.gen.Artifact', namely:
##
## object - the Embeddable class: See org.apache.cayenne.map.Embeddable
## stringUtils - class for string "helper" functions: See org.apache.cayenne.gen.StringUtils
## importUtils - class for import statement management: See org.apache.cayenne.gen.ImportUtils
## superClassName
## superPackageName
## subClassName
## subPackageName
## baseClassName
## basePackageName
##
##
${importUtils.setPackage($subPackageName)}##
${importUtils.addReservedType("${subPackageName}.${subClassName}")}##
${importUtils.addType("${superPackageName}.${superClassName}")}##
${importUtils.generate()}
public#if("true" == "${object.getIsAbstract()}") abstract#end class ${subClassName} extends ${superClassName} {
}