org.protege.editor.owl.ui.frame.dataproperty.OWLDataPropertyRangeFrameSection Maven / Gradle / Ivy
package org.protege.editor.owl.ui.frame.dataproperty;
import org.protege.editor.owl.OWLEditorKit;
import org.protege.editor.owl.ui.editor.OWLDataRangeEditor;
import org.protege.editor.owl.ui.editor.OWLObjectEditor;
import org.protege.editor.owl.ui.frame.AbstractOWLFrameSection;
import org.protege.editor.owl.ui.frame.OWLFrame;
import org.protege.editor.owl.ui.frame.OWLFrameSectionRow;
import org.semanticweb.owlapi.model.*;
import java.util.Comparator;
import java.util.HashSet;
import java.util.Set;
/**
* Author: Matthew Horridge
* The University Of Manchester
* Bio-Health Informatics Group
* Date: 16-Feb-2007
*/
public class OWLDataPropertyRangeFrameSection extends AbstractOWLFrameSection {
public static final String LABEL = "Ranges";
private Set addedRanges = new HashSet<>();
public OWLDataPropertyRangeFrameSection(OWLEditorKit editorKit, OWLFrame frame) {
super(editorKit, LABEL, "Range", frame);
}
protected OWLDataPropertyRangeAxiom createAxiom(OWLDataRange object) {
return getOWLDataFactory().getOWLDataPropertyRangeAxiom(getRootObject(), object);
}
public OWLObjectEditor getObjectEditor() {
return new OWLDataRangeEditor(getOWLEditorKit());
}
protected void clear() {
addedRanges.clear();
}
protected void refill(OWLOntology ontology) {
for (OWLDataPropertyRangeAxiom ax : ontology.getDataPropertyRangeAxioms(getRootObject())) {
addRow(new OWLDataPropertyRangeFrameSectionRow(getOWLEditorKit(), this, ontology, getRootObject(), ax));
addedRanges.add(ax.getRange());
}
}
@Override
protected boolean isResettingChange(OWLOntologyChange change) {
return change.isAxiomChange() &&
change.getAxiom() instanceof OWLDataPropertyRangeAxiom &&
((OWLDataPropertyRangeAxiom) change.getAxiom()).getProperty().equals(getRootObject());
}
public Comparator> getRowComparator() {
return null;
}
}