00001 package edu.ksu.cis.bandera.specification.datastructure;
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035 import edu.ksu.cis.bandera.jjjc.symboltable.*;
00036 import java.util.*;
00037 import edu.ksu.cis.bandera.specification.assertion.datastructure.*;
00038
00039 public class AssertionProperty implements Comparable {
00040 private String name;
00041 private TreeSet assertions = new TreeSet();
00042 private String description;
00043
00044
00045
00046
00047 public AssertionProperty(String name) {
00048 this.name = name;
00049 }
00050
00051
00052
00053
00054 public void addAssertion(Name name) {
00055 assertions.add(name);
00056 }
00057
00058
00059
00060
00061
00062 public int compareTo(Object o) {
00063 if (o instanceof AssertionProperty) {
00064 return name.compareTo(((AssertionProperty) o).name);
00065 } else {
00066 return -1;
00067 }
00068 }
00069
00070
00071
00072
00073 public java.util.TreeSet getAssertions() {
00074 return assertions;
00075 }
00076
00077
00078
00079
00080 public java.lang.String getDescription() {
00081 return description;
00082 }
00083
00084
00085
00086
00087 public java.lang.String getName() {
00088 return name;
00089 }
00090
00091
00092
00093
00094 public String getStringRepresentation() {
00095 StringBuffer buffer = new StringBuffer(name + ": enable assertions { ");
00096
00097 Iterator i = assertions.iterator();
00098 if (i.hasNext()) {
00099 buffer.append(i.next());
00100 }
00101 while (i.hasNext()) {
00102 buffer.append(", " + i.next());
00103 }
00104 buffer.append(" };");
00105
00106 return buffer.toString();
00107 }
00108
00109
00110
00111
00112 public void removeAssertion(Name name) {
00113 assertions.remove(name);
00114 }
00115
00116
00117
00118
00119 public void setDescription(java.lang.String newDescription) {
00120 description = newDescription;
00121 }
00122
00123
00124
00125
00126 public void setName(java.lang.String newName) {
00127 name = newName;
00128 }
00129 }