package LONI.tree.GraphObject;
import java.util.ArrayList;
import java.util.List;
import LONI.tree.Authors;
import Core.Pair;
import LONI.tree.module.Output;
import LONI.tree.module.Parameter;
import LONI.tree.module.metadata.Metadata;
import LONI.tree.workflow.Variables;
import LONI.visitor.DFSVisitor;
public class ModuleGroup extends GraphObject {
private String name=null;
private String myPackage=null;
private String version=null;
private String description=null;
private String icon=null;
private int rotation=0;
private boolean needsProvenance=false;
private Authors authors=null;;
private Metadata metadata;
List<GraphObject> modules;
List<Output> outputs;
List<Parameter> inputs;
Variables variables;
public ModuleGroup(){
super();
modules = new ArrayList<GraphObject>();
outputs = new ArrayList<Output>();
inputs = new ArrayList<Parameter>();
variables = new Variables();
}
public ModuleGroup(String id, String name, String myPackage,
String version, String description, String icon, int rotation,
int posX, int posY, boolean needsProvenance, Authors authors) {
super(posX, posY);
this.id = id;
this.name = name;
this.myPackage = myPackage;
this.version = version;
this.description = description;
this.icon = icon;
this.rotation = rotation;
this.needsProvenance = needsProvenance;
this.authors = authors;
modules = new ArrayList<GraphObject>();
variables = new Variables();
}
public String getId() {
return id;
}
public String getName() {
return name;
}
public Variables getVariables(){
return variables;
}
public String getMyPackage() {
return myPackage;
}
public String getVersion() {
return version;
}
public String getDescription() {
return description;
}
public String getIcon() {
return icon;
}
public int getRotation() {
return rotation;
}
public Authors getAuthors() {
return authors;
}
public boolean isNeedsProvenance() {
return needsProvenance;
}
public List<GraphObject> getModules() {
return modules;
}
public List<Output> getOutputs() {
return outputs;
}
public Metadata getMetadata() {
return metadata;
}
public void setMetadata(Metadata metadata) {
this.metadata = metadata;
}
public void setOutputs(List<Output> outputs) {
this.outputs = outputs;
}
public List<Parameter> getInputs() {
return inputs;
}
public void setInputs(List<Parameter> inputs) {
this.inputs = inputs;
}
public void setId(String id) {
this.id = id;
}
public void setName(String name) {
this.name = name;
}
public void setMyPackage(String myPackage) {
this.myPackage = myPackage;
}
public void setVersion(String version) {
this.version = version;
}
public void setDescription(String description) {
this.description = description;
}
public void setIcon(String icon) {
this.icon = icon;
}
public void setRotation(int rotation) {
this.rotation = rotation;
}
public void setNeedsProvenance(boolean needsProvenance) {
this.needsProvenance = needsProvenance;
}
public void setAuthors(Authors authors){
this.authors = authors;
}
public void setModules(List<GraphObject> modules) {
this.modules = modules;
}
public void setVariables(Variables variables) {
this.variables = variables;
}
public <W,U,V> Pair<W,U> accept(DFSVisitor<U,V>.ModuleVisitor<W> caller, V o) {
// TODO Auto-generated method stub
return caller.visit(this, o);
}
public Object accept(DFSVisitor.ModuleVisitor caller) {
// TODO Auto-generated method stub
return caller.visit(this);
}
}