org.protege.editor.owl.ui.clsdescriptioneditor.OWLClassExpressionChecker Maven / Gradle / Ivy
The newest version!
package org.protege.editor.owl.ui.clsdescriptioneditor;
import org.protege.editor.owl.model.OWLModelManager;
import org.protege.editor.owl.model.classexpression.OWLExpressionParserException;
import org.protege.editor.owl.model.parser.ParserUtil;
import org.protege.editor.owl.model.parser.ProtegeOWLEntityChecker;
import org.semanticweb.owlapi.manchestersyntax.parser.ManchesterOWLSyntaxParserImpl;
import org.semanticweb.owlapi.manchestersyntax.renderer.ParserException;
import org.semanticweb.owlapi.model.OWLClassExpression;
import org.semanticweb.owlapi.model.OWLOntologyLoaderConfiguration;
import org.semanticweb.owlapi.util.mansyntax.ManchesterOWLSyntaxParser;
import javax.inject.Provider;
/**
* Author: Matthew Horridge
* The University Of Manchester
* Medical Informatics Group
* Date: 11-Oct-2006
* [email protected]
* www.cs.man.ac.uk/~horridgm
*
*/
class OWLClassExpressionChecker implements OWLExpressionChecker {
private OWLModelManager mngr;
public OWLClassExpressionChecker(OWLModelManager mngr) {
this.mngr = mngr;
}
public void check(String text) throws OWLExpressionParserException {
createObject(text);
}
public OWLClassExpression createObject(String text) throws OWLExpressionParserException {
if(text.isEmpty()) {
return null;
}
ManchesterOWLSyntaxParser parser = new ManchesterOWLSyntaxParserImpl(OWLOntologyLoaderConfiguration::new, mngr.getOWLDataFactory());
parser.setOWLEntityChecker(new ProtegeOWLEntityChecker(mngr.getOWLEntityFinder()));
try {
return parser.parseClassExpression(text);
}
catch (ParserException e) {
throw ParserUtil.convertException(e);
}
}
}