blob: 9c6d6a27c383eb99daadfa47e1257c1d519908af [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2014 Bosch Software Innovations GmbH and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* and Eclipse Distribution License v1.0 which accompany this distribution.
*
* The Eclipse Public License is available at
* http://www.eclipse.org/legal/epl-v10.html
* The Eclipse Distribution License is available at
* http://www.eclipse.org/org/documents/edl-v10.php.
*
* Contributors:
* Bosch Software Innovations GmbH - Please refer to git log
*
*******************************************************************************/
package org.eclipse.vorto.codegen.examples.webdevice.tasks.templates
import org.eclipse.vorto.functionblock.FunctionblockModel
import org.eclipse.vorto.functionblock.PrimitiveProperty
import org.eclipse.vorto.codegen.examples.webdevice.tasks.ModuleUtil
import org.eclipse.vorto.codegen.api.tasks.ITemplate
class ConfigurationClassTemplate implements ITemplate {
override getContent(FunctionblockModel model) {
'''
package «ModuleUtil.getModelPackage(model)»;
import org.codehaus.jackson.map.annotate.JsonSerialize;
@JsonSerialize
public class «model.name»Configuration {
«IF model.functionblock.configuration!=null»
«FOR configurationField : model.functionblock.configuration.properties»
«IF configurationField instanceof PrimitiveProperty»
«var primitiveType = (configurationField as PrimitiveProperty).type»
«var primitiveJavaType = PropertyUtil.toJavaFieldType(primitiveType)»
private «primitiveJavaType» «configurationField.propName» = «PropertyUtil.getDefaultValue(primitiveType)»;
public «primitiveJavaType» get«configurationField.propName.toFirstUpper»() {
return «configurationField.propName»;
}
public void set«configurationField.propName.toFirstUpper»(«primitiveJavaType» «configurationField.propName») {
this.«configurationField.propName» = «configurationField.propName»;
}
«ENDIF»
«ENDFOR»
«ENDIF»
}'''
}
}