All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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; } }




© 2015 - 2024 Weber Informatics LLC | Privacy Policy