/** * */ package org.ihtsdo.otf.refset.service; import java.util.List; import org.ihtsdo.otf.refset.domain.Member; import org.ihtsdo.otf.refset.domain.Refset; import org.ihtsdo.otf.refset.exception.EntityNotFoundException; import org.ihtsdo.otf.refset.exception.RefsetServiceException; /** * @author Episteme Partners * */ public interface RefsetBrowseService { /**Method to get List of published {@link Refset}s * @param page * @param size * @return * @throws RefsetServiceException */ public List<Refset> getRefsets(Integer page, Integer size, boolean published) throws RefsetServiceException ; /**Method to retrieve {@link Refset} details for given refset id. * @param refsetId * @return * @throws RefsetServiceException */ public Refset getRefset(String refsetId) throws RefsetServiceException, EntityNotFoundException ; /**Validates if given description exist in the system or not * @param descrition * @return * @throws RefsetServiceException */ public boolean isDescriptionExist(String descrition) throws RefsetServiceException; /**Method to get {@link Refset} with List of limited {@link Member}s for given refsetId. * Returned refset object will only have finite size of members enumerated by from and to range. * Although, essentially this method is to get members but Refset object is returned so that * controller layer can determine its published status. Unpublished {@link Refset}'s members * can not be returned for non logged in user * @param from * @param to * @return * @throws RefsetServiceException */ public Refset getRefset(String refsetId, Integer from, Integer to) throws RefsetServiceException, EntityNotFoundException ; /** * @param refSetId * @return a {@link Refset} with member count and excluding all member details */ public Refset getRefsetHeader(String refSetId) throws RefsetServiceException, EntityNotFoundException ; /** * @param refsetId * @return * @throws RefsetServiceException * @throws EntityNotFoundException */ Refset getRefsetForExport(String refsetId) throws RefsetServiceException, EntityNotFoundException; }