package tr.com.srdc.mdr.core.model.iso11179; import java.util.List; import tr.com.srdc.mdr.core.api.ai.AdministeredItem; import tr.com.srdc.mdr.core.model.MDRException; import tr.com.srdc.mdr.core.model.MDRResource; import tr.com.srdc.mdr.core.model.Vocabulary; import tr.com.srdc.mdr.core.model.iso11179.composite.AdministeredItemContextResource; import tr.com.srdc.mdr.core.model.iso11179.composite.AdministrationRecordResource; import tr.com.srdc.mdr.core.model.iso11179.composite.ClassificationSchemeItemResource; import tr.com.srdc.mdr.core.model.iso11179.composite.ReferenceDocumentResource; import tr.com.srdc.mdr.core.model.iso11179.composite.RegistrationAuthorityResource; import tr.com.srdc.mdr.core.model.iso11179.composite.StewardshipRelationshipResource; import tr.com.srdc.mdr.core.model.iso11179.composite.SubmissionRelationshipResource; /** * * An Administered Item may be any one of those types listed in Figure 2 which * is specified in ISO/IEC 11179-3. Each instance of an Administered Item * encapsulates its own Administration Record. * * @author anil * */ public interface AdministeredItemResource extends MDRResource, AdministeredItem { /** * Abstract method for setting the specific {@link AdministrationRecordResource} * for the {@link AdministeredItemResource}. * * @param administrationRecord */ void setAdministrationRecord(AdministrationRecordResource administrationRecord); /** * Abstract method for getting the specific {@link AdministrationRecordResource} * for the {@link AdministeredItemResource}. * * @return AdministrationRecord */ AdministrationRecordResource getAdministrationRecord(); /** * Method for setting the value of the submittedBy property of the * {@link AdministeredItemResource} with the value of * {@link SubmissionRelationshipResource} . * * @param SubmissionRelationshipResource */ void setSubmittedBy(SubmissionRelationshipResource submittedBy); /** * Method for getting the value of submittedBy property of the * {@link AdministeredItemResource} * * @return value of the submittedBy property */ SubmissionRelationshipResource getSubmittedBy(); /** * Method for adding the classifiedBy property to the * {@link AdministeredItemResource} with the value of * {@link ClassificationSchemeItemResource}. * * @param classificationSchemeItem */ void addClassifiedBy(ClassificationSchemeItemResource classificationSchemeItem); /** * Method for getting the list of classifiedBy property values of the * {@link AdministeredItemResource} * * @return List of all classifiedBy property values */ List<ClassificationSchemeItemResource> getClassifiedBy() throws MDRException; /** * Method for removing the classifiedBy property to the * {@link AdministeredItemResource} with the value of * {@link ClassificationSchemeItemResource}. * * @param classificationSchemeItem */ void removeClassifiedBy(ClassificationSchemeItemResource classificationSchemeItem); /** * Method for setting the value of the administeredBy property of the * {@link AdministeredItemResource} with the value of * {@link StewardshipRelationshipResource}. * * @param StewardshipRelationshipResource */ void setAdministeredBy(StewardshipRelationshipResource administeredBy); /** * Method for getting the value of administeredBy property of the * {@link AdministeredItemResource} * * @return value of the administeredBy property */ StewardshipRelationshipResource getAdministeredBy(); /** * Method for setting the value of the registeredBy property of the * {@link AdministeredItemResource} with the value of * {@link RegistrationAuthorityResource}. * * @param RegistrationAuthorityResource */ void setRegisteredBy(RegistrationAuthorityResource registeredBy); /** * Method for getting the value of registeredBy property of the * {@link AdministeredItemResource} * * @return value of the registeredBy property */ RegistrationAuthorityResource getRegisteredBy(); /** * Method for adding the having property to the {@link AdministeredItemResource} * with the value of {@link AdministeredItemContextResource}. * * @param AdministeredItemContextResource */ void addHaving(AdministeredItemContextResource having); /** * Method for getting the list of having property values of the * {@link AdministeredItemResource} * * @return List of all having property values */ List<AdministeredItemContextResource> getHavings() throws MDRException; /** * Method for removing the having property to the * {@link AdministeredItemResource} with the value of * {@link AdministeredItemContextResource}. * * @param AdministeredItemContextResource */ void removeHaving(AdministeredItemContextResource having); /** * Adds {@link Vocabulary#describedBy} property with given value * * @param describedBy * value of {@link Vocabulary#describedBy} property. */ void addDescribedBy(ReferenceDocumentResource describedBy); /** * Removes the {@link Vocabulary#describedBy} property with given value * * @param describedBy * value of {@link Vocabulary#describedBy} property to be * removed. */ void removeDescribedBY(ReferenceDocumentResource describedBy); /** * * @return {@link List} of {@link Vocabulary#describedBy} property values */ List<ReferenceDocumentResource> getDescribedBy() throws MDRException; }