package tr.com.srdc.mdr.core.model.iso11179.composite; import java.util.List; 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 Terminological Entry applies to an Administered Item in a particular * Context. It provides a grouping of Designations and Definitions partitioned * into Language Sections, allowing the Administered Item to be named and * defined within the Context in multiple languages. * * @author anil * */ public interface TerminologicalEntryResource extends MDRResource { /** * Adds {@link Vocabulary#containingTerminologicalEntryLanguage} property * with given value * * @param containingTerminologicalEntryLanguage * if <code>null</code> throws {@link IllegalArgumentException} */ void addContainingTerminologicalEntryLanguage( LanguageSectionResource containingTerminologicalEntryLanguage); /** * Removes {@link Vocabulary#containingTerminologicalEntryLanguage} property * with given value <br> * * @param containingTerminologicalEntryLanguage * value of * {@link Vocabulary#containingTerminologicalEntryLanguage} * property to be removed. There should be at least 1 value for * the property, throws IllegalArgumentException when try to * remove all values */ void removeContainingTerminologicalEntryLanguage( LanguageSectionResource containingTerminologicalEntryLanguage); /** * * @return {@link List} of * {@link Vocabulary#containingTerminologicalEntryLanguage} values * @throws MDRException */ List<LanguageSectionResource> getContaninigTerminologicalEntryLanguage() throws MDRException; /** * Adds {@link Vocabulary#terminologicalEntryAdministeredItemContext} with * given value * * @param terminologicalEntryAdministeredItemContext */ void addTerminologicalEntryAdministeredItemContext( AdministeredItemContextResource terminologicalEntryAdministeredItemContext); /** * Removes {@link Vocabulary#terminologicalEntryAdministeredItemContext} * proprety with given value * * @param terminologicalEntryAdministeredItemContext */ void removeTerminologicalEntryAdministeredItemContext( AdministeredItemContextResource terminologicalEntryAdministeredItemContext); /** * * @return {@link List} of all * {@link Vocabulary#terminologicalEntryAdministeredItemContext} * property values * @throws MDRException */ List<AdministeredItemContextResource> getTerminologicalEntryAdministeredItemContext() throws MDRException; }