package uk.ac.ox.zoo.seeg.abraid.mp.common.dao; import uk.ac.ox.zoo.seeg.abraid.mp.common.domain.DiseaseGroup; import java.util.List; /** * Interface for the DiseaseGroup entity's Data Access Object. * * Copyright (c) 2014 University of Oxford */ public interface DiseaseGroupDao { /** * Gets all disease groups. * @return All disease groups. */ List<DiseaseGroup> getAll(); /** * Gets a list of the disease groups for which there are occurrences waiting to be reviewed, by the given expert. * @param expertId The expert's id. * @return A list of disease groups. */ List<DiseaseGroup> getDiseaseGroupsNeedingOccurrenceReviewByExpert(int expertId); /** * Gets a list of the disease groups for which there are admin units waiting to be reviewed, by the given expert. * @param expertId The expert's id. * @return A list of disease groups. */ List<DiseaseGroup> getDiseaseGroupsNeedingExtentReviewByExpert(int expertId); /** * Gets a disease group by ID. * @param id The ID. * @return The disease group with the specified ID, or null if not found. */ DiseaseGroup getById(Integer id); /** * Gets the names of all disease groups to be shown in the HealthMap disease report (sorted). * @return The disease groups names. */ List<String> getDiseaseGroupNamesForHealthMapReport(); /** * Saves the specified diseaseGroup. * @param diseaseGroup The diseaseGroup to save. */ void save(DiseaseGroup diseaseGroup); /** * Gets the IDs of disease groups that have automatic model runs enabled. * @return The IDs of relevant disease groups. */ List<Integer> getIdsForAutomaticModelRuns(); }