protege-hets/src/de/unibremen/informatik/hets/model/SpecDefn.java

60 lines
1.3 KiB
Java
Raw Normal View History

package de.unibremen.informatik.hets.model;
import java.util.ArrayList;
import java.util.Iterator;
public class SpecDefn {
private ArrayList<Spec> specs;
private String name;
private String logic;
public SpecDefn(String n, String l) {
name = n;
logic = l;
specs = new ArrayList<Spec>();
}
public void add(Spec spec) {
specs.add(spec);
}
public String getLogic() {
return logic;
}
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("spec ");
builder.append(name);
builder.append(" =");
Iterator<Spec> it = specs.iterator();
for (;;) {
Spec spec = it.next();
String annotation = spec.getAnnotation();
if (annotation != null) {
builder.append(" ");
builder.append(spec.getAnnotation());
}
if (!(spec instanceof Union)) {
builder.append("\n");
}
builder.append(spec.toString());
if (it.hasNext()) {
builder.append("then");
} else {
break;
}
}
builder.append("end");
builder.append("\n");
return builder.toString();
}
}