package uk.ac.manchester.cs.jfact; import java.io.Serializable; import org.semanticweb.owlapi.model.OWLAnnotationProperty; import org.semanticweb.owlapi.model.OWLClass; import org.semanticweb.owlapi.model.OWLDataFactory; import org.semanticweb.owlapi.model.OWLDataProperty; import org.semanticweb.owlapi.model.OWLDatatype; import org.semanticweb.owlapi.model.OWLDeclarationAxiom; import org.semanticweb.owlapi.model.OWLEntity; import org.semanticweb.owlapi.model.OWLEntityVisitorEx; import org.semanticweb.owlapi.model.OWLNamedIndividual; import org.semanticweb.owlapi.model.OWLObjectProperty; import uk.ac.manchester.cs.jfact.kernel.Ontology; import uk.ac.manchester.cs.jfact.kernel.dl.axioms.AxiomDeclaration; import uk.ac.manchester.cs.jfact.kernel.dl.interfaces.AxiomInterface; /** declaration translator */ public class DeclarationVisitorEx implements OWLEntityVisitorEx<AxiomInterface>, Serializable { private static final long serialVersionUID = 11000L; private Ontology o; private OWLDataFactory df; private TranslationMachinery tr; /** * @param o * o * @param df * df * @param tr * tr */ public DeclarationVisitorEx(Ontology o, OWLDataFactory df, TranslationMachinery tr) { this.o = o; this.df = df; this.tr = tr; } private OWLDeclarationAxiom d(OWLEntity e) { return df.getOWLDeclarationAxiom(e); } @Override public AxiomInterface visit(OWLClass cls) { return o.add(new AxiomDeclaration(d(cls), tr.pointer(cls))); } @Override public AxiomInterface visit(OWLObjectProperty property) { return o.add(new AxiomDeclaration(d(property), tr.pointer(property))); } @Override public AxiomInterface visit(OWLDataProperty property) { return o.add(new AxiomDeclaration(d(property), tr.pointer(property))); } @Override public AxiomInterface visit(OWLNamedIndividual individual) { return o.add(new AxiomDeclaration(d(individual), tr.pointer(individual))); } @Override public AxiomInterface visit(OWLDatatype datatype) { return o.add(new AxiomDeclaration(d(datatype), tr.pointer(datatype))); } @Override public AxiomInterface visit(OWLAnnotationProperty property) { return null; } }