package tr.com.srdc.mdr.core.model.iso11179.composite; import java.util.List; import tr.com.srdc.mdr.core.model.Abbreviation; 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.AdministeredItemResource; /** * * {@link StewardshipRelationshipResource} is used to represent the relation between * <ul> * <li>Stewardship</li> * <li>administering - administratedBy Relation between {@link OrganizationResource} * and {@link AdministeredItemResource}</li> * </ul> * <br> * Since {@link Abbreviation} is backed by Jena - Triple Store, such an holder class * is required to represent n-ary relations * * @author anil * */ public interface StewardshipRelationshipResource extends MDRResource { /** * Sets {@link Vocabulary#stewardshipOrganization} property with given value * * @param stewardshipOrganization * value of {@link Vocabulary#stewardshipOrganization} property <br> */ void setStewardshipOrganization(OrganizationResource stewardshipOrganization); /** * * @return {@link OrganizationResource} object, value of * {@link Vocabulary#stewardshipOrganization} property, <br> */ OrganizationResource getStewardshipOrganization(); /** * Sets {@link Vocabulary#administer} property with given value * * @param administer * value of {@link Vocabulary#administer} property <br> */ void setAdminister(StewardshipResource administer); /** * * @return {@link StewardshipResource} object, value of * {@link Vocabulary#administer} property, <br> */ StewardshipResource getAdminister(); /** * Adds {@link Vocabulary#administeredItems} property with given value * * @param administeredItems * value of {@link Vocabulary#administeredItems} property */ void addAdministratedItems(AdministeredItemResource administeredItem); /** * * @return {@link List} of {@link Vocabulary#administeredItems} property * values */ List<AdministeredItemResource> getAdministratedItems() throws MDRException; /** * Method for removing the administratedItems property to the * {@link StewardshipRelationshipResource} with the value of * {@link AdministeredItemResource}. * * @param administratedItems */ void removeAdministratedItem(AdministeredItemResource administratedItems); }