1 package Analysis.TaskStateAnalysis;
2 import Analysis.TaskStateAnalysis.*;
9 public class EGTaskNode extends TaskNode {
10 private boolean source=false;
11 private int loopmarker=0;
12 private boolean multipleparams=false;
13 private boolean optional = false;
14 private boolean marked=false;
15 private boolean tomention=true;
18 private TaskDescriptor td;
19 protected HashSet edges = new HashSet();
21 this("default", null, null);
24 public EGTaskNode(String name){
25 this(name, null, null);
28 public EGTaskNode(String name, FlagState fs){
32 public EGTaskNode(String name, TaskDescriptor td){
36 public EGTaskNode(String name, FlagState fs, TaskDescriptor td){
42 public int hashCode(){
43 return getLabel().hashCode();
46 public boolean equals(Object o){
47 if(o instanceof EGTaskNode){
48 EGTaskNode tn=(EGTaskNode) o;
49 return tn.getLabel().equals(getLabel());
54 public HashSet getEdgeSet(){
58 public void addEdge(EGEdge newedge) {
59 newedge.setSource(this);
61 EGTaskNode tonode=newedge.getTarget();
62 tonode.inedges.addElement(newedge);
65 public Iterator edges(){
66 return edges.iterator();
69 public TaskDescriptor getTD(){
73 public void setSource(){
77 public boolean isSource(){
85 public void doSelfLoopMarking(){
89 public void doLoopMarking(){
93 public boolean isSelfLoop(){
94 if (loopmarker==1) return true;
98 public boolean isLoop(){
99 if (loopmarker==2) return true;
103 public void setMultipleParams(){
107 public boolean isMultipleParams(){
108 return multipleparams;
111 public void setOptional(){
115 public boolean isOptional(){
123 public void unMark(){
127 public boolean isMarked(){
131 public String getFSName(){
132 if(fs == null) return "no flag";
133 else return fs.getTextLabel();
136 public FlagState getFS(){
140 public void dontMention(){
144 public boolean toMention(){
148 public void setAND(){