package tr.com.srdc.mdr.core.model.iso11179.composite; import java.util.List; import tr.com.srdc.mdr.core.api.composite.LanguageSection; import tr.com.srdc.mdr.core.model.MDRException; import tr.com.srdc.mdr.core.model.MDRResource; import tr.com.srdc.mdr.core.model.Vocabulary; /** * If a registry supports multiple languages, the language(s) associated with * particular names and definitions need to be identified. A Language Section * partitions a Terminological Entry by Language. A language section language * identifier identifies the Language associated with a particular Language * Section. A Language Section contains zero or more Designations. A Language * Section contains zero or more Definitions. * * @author anil * */ public interface LanguageSectionResource extends MDRResource, LanguageSection { /** * Sets {@link Vocabulary#languageSectionLanguageIdentifier} property with * given value * * @param languageSectionLanguageIdentifier * */ void setLanguageSectionLanguageIdentifier( LanguageIdentificationResource languageSectionLanguageIdentifier); /** * * @return Value of {@link Vocabulary#languageSectionLanguageIdentifier} * property */ LanguageIdentificationResource getLanguageSectionLanguageIdentifier(); /** * Adds {@link Vocabulary#partitioning} property with given value * * @param partitioning * if <code>null</code>, throws {@link IllegalArgumentException} */ void addPartitioning(TerminologicalEntryResource partitioning); /** * Removes {@link Vocabulary#partitioning} property with given value * * @param partitioning * if <code>null</code>, throw {@link IllegalArgumentException} */ void removePartitioning(TerminologicalEntryResource partitioning); /** * * @return {@link List} of all {@link Vocabulary#partitioning} proprety * values * @throws MDRException */ List<TerminologicalEntryResource> getPartitionings() throws MDRException; /** * Adds {@link Vocabulary#containingNameEntry} property with given value * * @param containingNameEntry * if <code>null</code>, throws {@link IllegalArgumentException} */ void addContainingNameEntry(DesignationResource containingNameEntry); /** * Removes {@link Vocabulary#containingNameEntry} property with given value * * @param containingNameEntry * if <code>null</code>, throw {@link IllegalArgumentException} */ void removeContainingNameEntry(DesignationResource containingNameEntry); /** * * @return {@link List} of all {@link Vocabulary#containingNameEntry} * proprety values * @throws MDRException */ List<DesignationResource> getContainingNameEntry() throws MDRException; /** * Adds {@link Vocabulary#containingDefinitionEntry} property with given * value * * @param containingDefinitionEntry * if <code>null</code>, throws {@link IllegalArgumentException} */ void addContainigDefinitionEntry(DefinitionResource containingDefinitionEntry); /** * Removes {@link Vocabulary#containingDefinitionEntry} property with given * value * * @param containingDefinitionEntry * if <code>null</code>, throw {@link IllegalArgumentException} */ void removeContainigDefinitionEntry(DefinitionResource containingDefinitionEntry); /** * * @return {@link List} of all {@link Vocabulary#containingDefinitionEntry} * proprety values * @throws MDRException */ List<DefinitionResource> getContainigDefinitionEntry() throws MDRException; }