package tr.com.srdc.mdr.core.model.iso11179.composite; import java.util.List; import tr.com.srdc.mdr.core.api.composite.DataElementConceptRelationship; 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 Data Element Concept may be associated with other Data Element Concepts, * via the Data Element Concept Relationship. The nature of the relationship is * described using the data element concept relationship type description. * * @author anil * */ public interface DataElementConceptRelationshipResource extends MDRResource, DataElementConceptRelationship { /** * Sets the {@link Vocabulary#dataElementConceptRelationshipTypeDescription} * property with given value * * @param dataElementConceptRelationshipTypeDescription */ void setDataElementConceptRelationshipTypeDescription( String dataElementConceptRelationshipTypeDescription); /** * * @return Value of * {@link Vocabulary#dataElementConceptRelationshipTypeDescription} * property */ String getDataElementConceptRelationshipTypeDescription(); /** * Add {@link Vocabulary#describingDataElementConceptRelationship} property * with given value * * @param describingDataElementConceptRelationship */ void addDescribingDataElementConceptRelationship( DataElementConceptRelationshipAssociationResource describingDataElementConceptRelationship); /** * Remove {@link Vocabulary#describingDataElementConceptRelationship} * property with given value * * @param describingDataElementConceptRelationship */ void removeDescribingDataElementConceptRelationship( DataElementConceptRelationshipAssociationResource describingDataElementConceptRelationship); /** * * @return {@link List} of all * {@link Vocabulary#describingDataElementConceptRelationship} * property values * @throws MDRException */ List<DataElementConceptRelationshipAssociationResource> getDescribingDataElementConceptRelationships() throws MDRException; }