blob: 769b991259171f8825256554ea56f37a67a50a76 [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.api.tasks;
import org.eclipse.vorto.codegen.api.tasks.ICodeGeneratorTask;
import org.eclipse.vorto.codegen.api.tasks.Generated;
import org.eclipse.vorto.codegen.api.tasks.IOutputter;
import org.eclipse.vorto.functionblock.FunctionblockModel;
public abstract class AbstractTemplateGeneratorTask implements
ICodeGeneratorTask {
public void generate(final FunctionblockModel model,
final IOutputter outputter) {
Generated generated = new Generated(getFileName(model), getPath(model),
getTemplate().getContent(model));
outputter.output(generated);
}
abstract public String getFileName(final FunctionblockModel model);
abstract public String getPath(final FunctionblockModel model);
/**
* @return Tempalte to be used for Generation
*/
abstract public ITemplate getTemplate();
}