2011-02-14 01:50:39 +00:00
|
|
|
package de.unibremen.informatik.hets.model;
|
|
|
|
|
|
|
|
import java.util.ArrayList;
|
|
|
|
import java.util.Iterator;
|
|
|
|
|
2011-02-14 16:52:24 +00:00
|
|
|
import org.semanticweb.owlapi.model.OWLOntology;
|
|
|
|
|
2011-02-14 01:50:39 +00:00
|
|
|
public class SpecDefn {
|
|
|
|
private ArrayList<Spec> specs;
|
|
|
|
private String name;
|
|
|
|
private String logic;
|
2011-02-14 09:06:39 +00:00
|
|
|
private String annotation;
|
2011-02-14 01:50:39 +00:00
|
|
|
|
2011-02-14 09:06:39 +00:00
|
|
|
public SpecDefn(String n, String l, String a) {
|
2011-02-14 01:50:39 +00:00
|
|
|
name = n;
|
|
|
|
logic = l;
|
2011-02-14 09:06:39 +00:00
|
|
|
annotation = a;
|
2011-02-14 01:50:39 +00:00
|
|
|
specs = new ArrayList<Spec>();
|
|
|
|
}
|
|
|
|
|
|
|
|
public void add(Spec spec) {
|
|
|
|
specs.add(spec);
|
|
|
|
}
|
|
|
|
|
|
|
|
public String getLogic() {
|
|
|
|
return logic;
|
2011-02-14 16:52:24 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public String getName() {
|
|
|
|
return name;
|
|
|
|
}
|
|
|
|
|
|
|
|
public Iterator<Spec> getIterator() {
|
|
|
|
return specs.iterator();
|
|
|
|
}
|
|
|
|
|
|
|
|
// just return the first Basicspec for now
|
|
|
|
public OWLOntology getOntology() {
|
|
|
|
for (Spec spec : specs) {
|
|
|
|
if (spec instanceof Basicspec) {
|
|
|
|
return ((Basicspec)spec).getOntology();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return null;
|
2011-02-14 01:50:39 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public String toString() {
|
|
|
|
StringBuilder builder = new StringBuilder();
|
|
|
|
|
2011-02-14 09:06:39 +00:00
|
|
|
if (annotation != null && annotation != "") {
|
|
|
|
builder.append(annotation);
|
|
|
|
builder.append("\n");
|
|
|
|
}
|
2011-02-14 01:50:39 +00:00
|
|
|
builder.append("spec ");
|
|
|
|
builder.append(name);
|
|
|
|
builder.append(" =");
|
|
|
|
|
|
|
|
Iterator<Spec> it = specs.iterator();
|
2011-02-14 09:06:39 +00:00
|
|
|
while (it.hasNext()) {
|
2011-02-14 01:50:39 +00:00
|
|
|
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();
|
|
|
|
}
|
|
|
|
}
|