1 package Analysis.SSJava;
8 private Descriptor desc;
10 private boolean isSkeleton;
11 private boolean isCombinationNode;
12 private boolean isSharedNode;
13 private boolean isMergeNode;
15 // set true if hnode is the first node of the combination chain
16 private boolean isDirectCombinationNode;
19 this.isSkeleton = false;
20 this.isCombinationNode = false;
21 this.isSharedNode = false;
22 this.isMergeNode = false;
23 this.isDirectCombinationNode = false;
26 public boolean isMergeNode() {
30 public void setMergeNode(boolean isMergeNode) {
31 this.isMergeNode = isMergeNode;
34 public HNode(String name) {
39 public HNode(Descriptor d) {
42 this.name = d.getSymbol();
45 public boolean isSharedNode() {
49 public void setSharedNode(boolean b) {
50 this.isSharedNode = b;
53 public boolean isSkeleton() {
57 public void setSkeleton(boolean isSkeleton) {
58 this.isSkeleton = isSkeleton;
61 public boolean isCombinationNode() {
62 return isCombinationNode;
65 public void setCombinationNode(boolean b) {
66 isCombinationNode = b;
69 public String getName() {
73 public boolean isDirectCombinationNode() {
74 return isDirectCombinationNode;
77 public void setDirectCombinationNode(boolean isDirectCombinationNode) {
78 this.isDirectCombinationNode = isDirectCombinationNode;
81 public boolean equals(Object o) {
82 if (o instanceof HNode) {
84 if (getName().equals(in.getName())) {
91 public String getNamePropertyString() {
92 return toString().substring(1, toString().length() - 1);
95 public String toString() {
97 String properties = "";
103 if (isCombinationNode()) {
111 if (properties.length() > 0) {
112 properties = "(" + properties + ")";
115 return "[" + name + properties + "]";
118 public Descriptor getDescriptor() {
122 public int hashCode() {
123 return 7 + name.hashCode();