blob: 2eeabf5be70b960985982e3d1b73b5d72c2d4625 [file] [log] [blame]
<%@ jet package="comrel.helper" class="SingleFilter"
imports="comrel.generator.helper.*"%>
<%HelperInfo helperInfo = (HelperInfo) argument; %>
/**
* <copyright>
* </copyright>
*/
package <%=helperInfo.getPackageName()%>;
import org.eclipse.emf.common.util.BasicEList;
import org.eclipse.emf.common.util.EList;
import comrel.extensions.ISingleFilterHelper;
import comrel.MultiInputPort;
import comrel.ComrelFactory;
import comrel.SingleOutputPort;
/**
* Helper class for synchronizing ports in
* composite model refactorings specified in CoMReL.
* @generated
*/
public class <%=helperInfo.getClassName()%> implements ISingleFilterHelper {
final ComrelFactory factory = ComrelFactory.eINSTANCE;
private MultiInputPort <%=helperInfo.getInputTypeVariable() + "s"%>;
private SingleOutputPort <%=helperInfo.getOutputTypeVariable()%>;
/**
* Default constructor.
* @generated
*/
public <%=helperInfo.getClassName()%>() {
initInputPort();
initOutputPort();
}
/**
* Method for setting the input port.
* @generated
*/
private void initInputPort() {
<%=helperInfo.getInputTypeVariable() + "s"%> = factory.createMultiInputPort();
<%=helperInfo.getInputTypeVariable() + "s"%>.setName("<%=helperInfo.getInputTypeVariable() + "s"%>");
<%=helperInfo.getInputTypeVariable() + "s"%>.setType(<%=helperInfo.getInputType()%>.class);
}
/**
* Method for setting the output port.
* @generated
*/
private void initOutputPort(){
<%=helperInfo.getOutputTypeVariable()%> = factory.createSingleOutputPort();
<%=helperInfo.getOutputTypeVariable()%>.setName("<%=helperInfo.getOutputTypeVariable()%>");
<%=helperInfo.getOutputTypeVariable()%>.setType(<%=helperInfo.getOutputType()%>.class);
}
/**
* @generated
*/
@Override
public MultiInputPort getInputPort() {
return <%=helperInfo.getInputTypeVariable() + "s"%>;
}
/**
* @generated
*/
@Override
public SingleOutputPort getOutputPort() {
return <%=helperInfo.getOutputTypeVariable()%>;
}
/**
* @generated
*/
@Override
public void run() {
EList<<%=helperInfo.getInputType()%>> in = setInput();
<%=helperInfo.getOutputType()%> out = null;
// TODO implement logic (replace 'null')
<%=helperInfo.getOutputTypeVariable()%>.setValue(out);
}
/**
* Helper method for extracting input to Java objects.
* @generated
*/
private EList<<%=helperInfo.getInputType()%>> setInput() {
EList<Object> origin = <%=helperInfo.getInputTypeVariable() + "s"%>.getValue();
EList<<%=helperInfo.getInputType()%>> in = new BasicEList<<%=helperInfo.getInputType()%>>();
for (Object o : origin) {
in.add((<%=helperInfo.getInputType()%>) o);
}
return in;
}
}