################################################################## ## ## 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 ## ## http://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. ## ################################################################## ## Template to create the Java class representing an ODF element. ## ## Documentation of template development can be found in local file ## TemplateHelp.html. ## #set ($base = $javamodel.getBaseclass($context)) #set ($baseElement = ${model.getElement($base.getQName())}) #set($classname = "${model.camelCase($base)}ElementBase") ## ## Set Superclass #if (${base.isStylable()}) #set ($stylable = true) #set ($superclass = "OdfStylableElement") #if ($baseElement) #set ($elementStyleFamily=${odfmodel.getStyleFamilies($baseElement)}) #set ($useOdfStyleableShapeElement = false) #foreach($f in $elementStyleFamily) #if (${f.getQName()}=="draw:graphic" || ${f.getQName()}=="presentation:presentation") #set ($useOdfStyleableShapeElement = true) #end #end #end #else #set ($superclass = 'OdfElement') #end #if ($context== "text:list-level-style") #set ($superclass = 'OdfStyleBase') #end #if ($useOdfStyleableShapeElement || $classname=="DrawShapeElementBase") #set ($superclass = "OdfStyleableShapeElement") #end ## ## Begin Code #include('copyright.txt') /* * This file is automatically generated. * Don't edit manually. */ package org.odftoolkit.odfdom.dom.element.${base.getNamespace()}; ## ## --------------------------------------------------- ## Imports ## --------------------------------------------------- ## import org.odftoolkit.odfdom.pkg.OdfFileDom; import org.odftoolkit.odfdom.pkg.OdfName; import org.odftoolkit.odfdom.dom.OdfDocumentNamespace; import org.odftoolkit.odfdom.pkg.OdfElement; import org.odftoolkit.odfdom.dom.element.OdfStyleBase; import org.odftoolkit.odfdom.dom.element.OdfStylableElement; import org.odftoolkit.odfdom.dom.style.OdfStyleFamily; import org.odftoolkit.odfdom.dom.element.OdfStyleableShapeElement; #foreach ($attribute in ${base.getBaseAttributes().withoutMultiples()}) #if ($attribute == "*") #set ($anyattribute = true) #else import org.odftoolkit.odfdom.dom.attribute.${attribute.getNamespace()}.${model.camelCase($attribute)}Attribute; #end #end ## ## --------------------------------------------------- ## Class ## --------------------------------------------------- ## /** * DOM implementation of OpenDocument base element * #if ($anyattribute) * This class can have any org.w3c.dom.Attribute attribute. #end */ public abstract class $classname extends $superclass { /** * Create the instance of $classname * * @param ownerDoc The type is OdfFileDom */ #if (${base.isStylable()}&& ($useOdfStyleableShapeElement == false) || $classname=="TextParagraphElementBase") public $classname(OdfFileDom ownerDoc, OdfName elementName, OdfStyleFamily styleFamily, OdfName styleAttrName) { super(ownerDoc, elementName, styleFamily, styleAttrName); } #else public $classname(OdfFileDom ownerDoc, OdfName elementName) { super(ownerDoc, elementName); } #end ## ## --------------------------------------------------- ## Attribute getters and setters ## --------------------------------------------------- ## #foreach ($attr in ${base.getBaseAttributes().withoutMultiples()}) #set ($valueObject = "String") #set ($simpleValue = "") #set ($dataTypes = ${attr.getDatatypes().withoutMultiples()}) #set ($valueTypes = ${javamodel.getValuetypes($dataTypes)}) #foreach ($valueType in $valueTypes) #set ($valueObject = $valueType) #end #set($values = ${attr.getValues().withoutMultiples()}) #if ($values.size() ==2) #set ($trueFlag = false) #set ($falseFlag = false) #foreach ($value in $values) #if ($value==true) #set ($trueFlag = true) #end #if ($value==false) #set ($falseFlag = true) #end #end #if ($trueFlag and $falseFlag) #set ($hasdatatype = true) #set ($valueObject = "Boolean") #end #end #if ($valueObject != "String" && $valueObject != "Double" && $valueObject != "Integer" && $valueObject != "Boolean") #set ($valueObject = "String") #end #if ($valueObject != "String") #set ($simpleValue = ${javamodel.getPrimitiveType($valueObject)}) #end #if ($attr != "*") #set ($attribute = ${attr.withMultiples()}) #set ($aNS = ${attribute.getNamespace()}) #set ($aClassname = "${model.camelCase($attribute)}Attribute") #set ($aParam = "${model.javaCase($attribute)}Value") /** * Receives the value of the ODFDOM attribute representation $aClassname , See {@odf.attribute ${attribute.getQName()}} * * @return - the $valueObject , the value or null, if the attribute is not set and no default value defined. */ public $valueObject get${aClassname}() { $aClassname attr = ($aClassname) getOdfAttribute(OdfDocumentNamespace.${aNS.toUpperCase()}, "${attribute.getLocalName()}"); if (attr != null) { #if ($simpleValue!="") return ${valueObject}.valueOf(attr.${simpleValue}Value()); #else return ${valueObject}.valueOf(attr.getValue()); #end } #if ($odfmodel.getDefaultAttributeValue($attr, $base)) #set ($defaultValue = ${model.escapeLiteral($odfmodel.getDefaultAttributeValue($attr, $base))}) #set ($defaultValueSet = $odfmodel.getDefaultAttributeValues($attr)) #if ($defaultValueSet.size()>1) #set ($constant = $model.constantCase($defaultValue)) #if ($valueObject == "String") return ${aClassname}.DEFAULT_VALUE_${model.escapeKeyword($constant)}; #else return ${valueObject}.valueOf(${aClassname}.DEFAULT_VALUE_${model.escapeKeyword($constant)}); #end #else #if ($valueObject == "String") return ${aClassname}.DEFAULT_VALUE; #else return ${valueObject}.valueOf(${aClassname}.DEFAULT_VALUE); #end #end #else return null; #end } /** * Sets the value of ODFDOM attribute representation $aClassname , See {@odf.attribute ${attribute.getQName()}} * * @param $aParam The type is $valueObject */ public void set${aClassname}($valueObject $aParam) { $aClassname attr = new ${aClassname}((OdfFileDom) this.ownerDocument); setOdfAttribute(attr); #if ($valueObject == "String") attr.setValue($aParam); #else attr.set${model.camelCase($simpleValue)}Value($aParam.${simpleValue}Value()); #end } #end #end }