package tr.com.srdc.mdr.core.model.iso11179.composite; import java.util.List; import tr.com.srdc.mdr.core.api.composite.ValueDomainRelationship; import tr.com.srdc.mdr.core.model.MDRException; import tr.com.srdc.mdr.core.model.MDRResource; import tr.com.srdc.mdr.core.model.Vocabulary; /** * * A Value Domain may be associated with other Value Domains, via the Value * Domain Relationship. The nature of the relationship is described using the * Value Domain relationship type description. * * @author anil * */ public interface ValueDomainRelationshipResource extends MDRResource, ValueDomainRelationship { /** * Sets the {@link Vocabulary#ValueDomainRelationshipTypeDescription} * property with given value * * @param valueDomainRelationshipTypeDescription */ void setValueDomainRelationshipTypeDescription( String valueDomainRelationshipTypeDescription); /** * * @return Value of * {@link Vocabulary#ValueDomainRelationshipTypeDescription} * property */ String getValueDomainRelationshipTypeDescription(); /** * Add {@link Vocabulary#describingValueDomainRelationship} property with * given value * * @param describingValueDomainRelationship */ void addDescribingValueDomainRelationship( ValueDomainRelationshipAssociationResource describingValueDomainRelationship); /** * Remove {@link Vocabulary#describingValueDomainRelationship} property with * given value * * @param describingValueDomainRelationship */ void removeDescribingValueDomainRelationship( ValueDomainRelationshipAssociationResource describingValueDomainRelationship); /** * * @return {@link List} of all * {@link Vocabulary#describingValueDomainRelationship} property * values * @throws MDRException */ List<ValueDomainRelationshipAssociationResource> getDescribingValueDomainRelationships() throws MDRException; }