package au.org.aurin.wif.repo.demand; import java.util.List; import au.org.aurin.wif.exception.validate.WifInvalidInputException; import au.org.aurin.wif.model.demand.AreaRequirement; /** * The Interface AreaRequirementDao. */ public interface AreaRequirementDao { /** * Adds the area requirement. * * @param areaRequirement * the area requirement */ void addAreaRequirement(AreaRequirement areaRequirement); /** * Update area requirement. * * @param areaRequirement * the area requirement */ void updateAreaRequirement(AreaRequirement areaRequirement); /** * Gets the area requirements. * * @param demandScenarioId * the demand scenario id * @return the area requirements */ List<AreaRequirement> getAreaRequirements(String demandScenarioId); /** * Find area requirement by id. * * @param id * the id * @return the area requirement */ AreaRequirement findAreaRequirementById(String id); /** * Delete area requirement. * * @param areaRequirement * the area requirement * @throws WifInvalidInputException * the wif invalid input exception */ void deleteAreaRequirement(AreaRequirement areaRequirement) throws WifInvalidInputException; /** * Persist area requirement. * * @param areaRequirement * the area requirement * @return the area requirement */ AreaRequirement persistAreaRequirement(AreaRequirement areaRequirement); }