package org.openflexo.foundation.ontology.xsd; import org.openflexo.foundation.ontology.OntologyObject; import org.openflexo.foundation.ontology.OntologyProperty; public abstract class XSOntProperty extends AbstractXSOntObject implements OntologyProperty, XSOntologyURIDefinitions { private AbstractXSOntObject domain; private boolean noDomainFoundYet = true; protected XSOntProperty(XSOntology ontology, String name, String uri) { super(ontology, name, uri); domain = ontology.getThingConcept(); } @Override public boolean isAnnotationProperty() { return false; } @Override public OntologyObject getDomain() { return domain; } public void newDomainFound(AbstractXSOntObject domain) { if (noDomainFoundYet) { this.domain = domain; noDomainFoundYet = false; } else { this.domain = getOntology().getThingConcept(); } } public void resetDomain() { this.domain = getOntology().getThingConcept(); noDomainFoundYet = true; } }