package tr.com.srdc.mdr.core.model.iso11179.composite; import java.util.List; import tr.com.srdc.mdr.core.api.composite.Organization; import tr.com.srdc.mdr.core.impl.composite.OrganizationImpl; import tr.com.srdc.mdr.core.impl.composite.StewardshipRelationshipImpl; import tr.com.srdc.mdr.core.model.MDRException; import tr.com.srdc.mdr.core.model.MDRResource; import tr.com.srdc.mdr.core.model.Vocabulary; /** * * An Organization can play one or more roles with respect to a Metadata * Registry. The roles currently recognized in this part of ISO/IEC 11179 are: * Registration Authority, reference organization, steward (of an Administered * Item) – represented by the relationship stewardship – and submitter (of an * Administered Item) – represented by the relationship submission * * @author anil * */ public interface OrganizationResource extends MDRResource, Organization { /** * Sets {@link Vocabulary#organizationName} property with given value * * @param organizationName * value of {@link Vocabulary#organizationName} property, <br> */ void setOrganizationName(String organizationName); /** * * @return {@link String} value of {@link Vocabulary#organizationName} * property, <br> */ String getOrganizationName(); /** * Sets {@link Vocabulary#organizationMailAddress} property with given value * * @param organizationMailAddress * value of {@link Vocabulary#organizationMailAddress} property, <br> * Removes property if given <code>null</code> */ void setOrganizationMailAddress(String organizationMailAddress); /** * * @return {@link String} value of * {@link Vocabulary#organizationMailAddress} property, <br> * If property is not set, then returns <code>null</code> */ String getOrganizationMailAddress(); /** * Adds {@link Vocabulary#administering} property with given value * * @param administrating * value of {@link Vocabulary#administering} property */ void addAdministrating(StewardshipRelationshipResource administrating); /** * * @return {@link List} of {@link Vocabulary#administering} property values */ List<StewardshipRelationshipResource> getAdministrating() throws MDRException; /** * Method for removing the administrating property to the * {@link OrganizationImpl} with the value of * {@link StewardshipRelationshipImpl}. * * @param administrating */ void removeAdministrating(StewardshipRelationshipResource administrating); /** * Adds {@link Vocabulary#submitting} property with given value * * @param submitting * value of {@link Vocabulary#submitting} property */ void addSubmitting(SubmissionRelationshipResource submitting); /** * * @return {@link List} of {@link Vocabulary#submitting} property values */ List<SubmissionRelationshipResource> getSubmitting() throws MDRException; /** * Method for removing the submitting property to the * {@link OrganizationResource} with the value of * {@link SubmissionRelationshipResource}. * * @param submitting */ void removeSubmitting(SubmissionRelationshipResource submitting); /** * Adds {@link Vocabulary#providing} property with given value * * @param providing * value of {@link Vocabulary#providing} property. */ void addProviding(ReferenceDocumentResource providing); /** * Removes the {@link Vocabulary#providing} property with given value * * @param providing * value of {@link Vocabulary#providing} property to be removed. */ void removeProviding(ReferenceDocumentResource providing); /** * * @return {@link List} of {@link Vocabulary#providing} property values */ List<ReferenceDocumentResource> getProviding() throws MDRException; }