blob: ba992e874d5d2fd90961fe40801c62a2c7a03e0f [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 StatusClassTemplate implements ITemplate {
override getContent(FunctionblockModel model) {
'''
package «ModuleUtil.getModelPackage(model)»;
import org.codehaus.jackson.map.annotate.JsonSerialize;
@JsonSerialize
public class «model.name»Status {
«IF model.functionblock.status!=null»
«FOR StatusField : model.functionblock.status.properties»
«IF StatusField instanceof PrimitiveProperty»
«var primitiveType = (StatusField as PrimitiveProperty).type»
«var primitiveJavaType = PropertyUtil.toJavaFieldType(primitiveType)»
private «primitiveJavaType» «StatusField.propName» = «PropertyUtil.getDefaultValue(primitiveType)»;
public «primitiveJavaType» get«StatusField.propName.toFirstUpper»() {
return «StatusField.propName»;
}
public void set«StatusField.propName.toFirstUpper»(«primitiveJavaType» «StatusField.propName») {
this.«StatusField.propName» = «StatusField.propName»;
}
«ENDIF»
«ENDFOR»
«ENDIF»
}'''
}
}