1 19 20 21 package ca.mcgill.sable.graph.model; 22 import java.util.*; 23 24 public class SimpleNode extends Element { 25 26 private ArrayList inputs; 27 private ArrayList outputs; 28 protected Object data; 29 private ArrayList children = new ArrayList(); 30 31 32 public SimpleNode() { 33 super(); 34 } 35 36 public void addInput(Edge e){ 37 if (getInputs() == null){ 38 setInputs(new ArrayList()); 39 } 40 getInputs().add(e); 41 fireStructureChange(INPUTS, e); 42 } 43 44 public void addOutput(Edge e){ 45 if (getOutputs() == null){ 46 setOutputs(new ArrayList()); 47 } 48 getOutputs().add(e); 49 fireStructureChange(OUTPUTS, e); 50 } 51 52 public void removeInput(Edge e){ 53 if (getInputs() == null) return; 54 if (getInputs().contains(e)){ 55 getInputs().remove(e); 56 fireStructureChange(INPUTS, e); 57 } 58 } 59 60 public void removeOutput(Edge e){ 61 if (getOutputs() == null) return; 62 if (getOutputs().contains(e)){ 63 getOutputs().remove(e); 64 fireStructureChange(OUTPUTS, e); 65 } 66 } 67 68 public void removeAllInputs(){ 69 if (getInputs() == null) return; 70 Iterator it = getInputs().iterator(); 71 while (it.hasNext()){ 72 Edge e = (Edge)it.next(); 73 e.getSrc().removeOutput(e); 74 } 75 setInputs(new ArrayList()); 76 fireStructureChange(INPUTS, null); 77 } 78 79 public void removeAllOutputs(){ 80 if (getOutputs() == null) return; 81 Iterator it = getOutputs().iterator(); 82 while (it.hasNext()){ 83 Edge e = (Edge)it.next(); 84 e.getTgt().removeInput(e); 85 } 86 setOutputs(new ArrayList()); 87 fireStructureChange(OUTPUTS, null); 88 } 89 90 93 public ArrayList getInputs() { 94 return inputs; 95 } 96 97 100 public ArrayList getOutputs() { 101 return outputs; 102 } 103 104 107 public void setInputs(ArrayList list) { 108 inputs = list; 109 } 110 111 114 public void setOutputs(ArrayList list) { 115 outputs = list; 116 } 117 118 119 122 public Object getData() { 123 return data; 124 } 125 126 129 public void setData(Object string) { 130 data = string; 131 firePropertyChange(DATA, data.toString()); 132 } 133 134 137 public ArrayList getChildren() { 138 return children; 139 } 140 141 144 public void setChildren(ArrayList list) { 145 children = list; 146 } 147 148 public void addChild(SimpleNode sn){ 149 children.add(sn); 150 fireStructureChange(COMPLEX_CHILD_ADDED, sn); 151 } 152 153 } 154 | Popular Tags |