package au.org.aurin.wif.repo.allocation; import java.util.List; import au.org.aurin.wif.exception.validate.WifInvalidInputException; import au.org.aurin.wif.model.allocation.AllocationScenario; /** * The Interface AllocationScenarioDao. */ public interface AllocationScenarioDao { /** * Adds the allocation scenario. * * @param allocationScenario * the allocation scenario */ void addAllocationScenario(AllocationScenario allocationScenario); /** * Update allocation scenario. * * @param allocationScenario * the allocation scenario */ void updateAllocationScenario(AllocationScenario allocationScenario); /** * Gets the allocation scenarios. * * @param projectId * the project id * @return the allocation scenarios */ List<AllocationScenario> getAllocationScenarios(String projectId); /** * Find allocation scenario by id. * * @param id * the id * @return the allocation scenario */ AllocationScenario findAllocationScenarioById(String id); /** * Delete allocation scenario. * * @param allocationScenario * the allocation scenario * @throws WifInvalidInputException * the wif invalid input exception */ void deleteAllocationScenario(AllocationScenario allocationScenario) throws WifInvalidInputException; /** * Persist allocation scenario. * * @param allocationScenario * the allocation scenario * @return the allocation scenario */ AllocationScenario persistAllocationScenario( AllocationScenario allocationScenario); }