package models.dataFlowModel; import java.util.HashSet; import java.util.Set; import models.dataConstraintModel.*; public class DataflowChannelGenerator extends ChannelGenerator { protected Set<ChannelMember> inputChannelMembers = null; protected Set<ChannelMember> outputChannelMembers = null; public DataflowChannelGenerator() { inputChannelMembers = new HashSet<>(); outputChannelMembers = new HashSet<>(); } public Set<ChannelMember> getInputChannelMembers() { return inputChannelMembers; } public void setInputChannelMembers(Set<ChannelMember> inputChannelMembers) { this.inputChannelMembers = inputChannelMembers; } public void addInputChannelMember(ChannelMember inputChannelMember) { inputChannelMembers.add(inputChannelMember); } public Set<ChannelMember> getOutputChannelMembers() { return outputChannelMembers; } public void setOutputChannelMembers(Set<ChannelMember> outputChannelMembers) { this.outputChannelMembers = outputChannelMembers; } public void addOutputChannelMember(ChannelMember outputChannelMember) { outputChannelMembers.add(outputChannelMember); } public void addChannelMemberAsInput(ChannelMember groupDependentResource) { addChannelMember(groupDependentResource); addInputChannelMember(groupDependentResource); } public void addChannelMemberAsOutput(ChannelMember groupDependentResource) { addChannelMember(groupDependentResource); addOutputChannelMember(groupDependentResource); } public Set<IdentifierTemplate> getInputIdentifierTemplates() { Set<IdentifierTemplate> inputIdentifierTemplates = new HashSet<>(); for (ChannelMember member: inputChannelMembers) { inputIdentifierTemplates.add(member.getIdentifierTemplate()); } return inputIdentifierTemplates; } public Set<IdentifierTemplate> getOutputIdentifierTemplates() { Set<IdentifierTemplate> outputIdentifierTemplates = new HashSet<>(); for (ChannelMember member: outputChannelMembers) { outputIdentifierTemplates.add(member.getIdentifierTemplate()); } return outputIdentifierTemplates; } }