package org.openflexo.foundation.viewpoint; import org.openflexo.foundation.ontology.OntologyClass; import org.openflexo.foundation.ontology.OntologyObjectProperty; import org.openflexo.foundation.viewpoint.ViewPoint.ViewPointBuilder; public class ObjectPropertyPatternRole extends PropertyPatternRole { private String rangeURI; public ObjectPropertyPatternRole(ViewPointBuilder builder) { super(builder); } @Override public PatternRoleType getType() { return PatternRoleType.ObjectProperty; } @Override public String getPreciseType() { if (getParentProperty() != null) { return getParentProperty().getName(); } return ""; } @Override public Class<?> getAccessedClass() { return OntologyObjectProperty.class; } @Override public OntologyObjectProperty getParentProperty() { return (OntologyObjectProperty) super.getParentProperty(); } public void setParentProperty(OntologyObjectProperty ontologyProperty) { super.setParentProperty(ontologyProperty); } public String _getRangeURI() { return rangeURI; } public void _setRangeURI(String domainURI) { this.rangeURI = domainURI; } public OntologyClass getRange() { getViewPoint().loadWhenUnloaded(); return getViewPoint().getViewpointOntology().getClass(_getRangeURI()); } public void setRange(OntologyClass c) { _setRangeURI(c != null ? c.getURI() : null); } }