package au.org.aurin.wif.repo; import java.util.List; import au.org.aurin.wif.exception.config.WifInvalidConfigException; import au.org.aurin.wif.exception.validate.WifInvalidInputException; import au.org.aurin.wif.model.WifProject; /** * The Interface WifProjectDao. */ public interface WifProjectDao { /** * Adds the project. * * @param project * the project */ void addProject(WifProject project); /** * Create the project. * * @param project the project * @return the wif project * @throws WifInvalidConfigException * @throws WifInvalidInputException */ WifProject persistProject(WifProject project) throws WifInvalidInputException, WifInvalidConfigException; /** * Update project. * * @param project the project */ void updateProject(WifProject project); /** * Find project by id. * * @param id the id * @return the wif project */ WifProject findProjectById(String id); /** * Delete project. * * @param project the project */ void deleteProject(WifProject project); /** * Gets the all projects. * * @return the all projects */ List<WifProject> getAllProjects(); /** * Gets the all projects. * * @param role the role * @return the all projects */ List<WifProject> getAllProjects(String role); }