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.LocalAreaRequirement;
/**
* The Interface LocalAreaRequirementDao.
*/
public interface LocalAreaRequirementDao {
/**
* Adds the local area requirement.
*
* @param localAreaRequirement
* the local area requirement
*/
void addLocalAreaRequirement(LocalAreaRequirement localAreaRequirement);
/**
* Update local area requirement.
*
* @param localAreaRequirement
* the local area requirement
*/
void updateLocalAreaRequirement(LocalAreaRequirement localAreaRequirement);
/**
* Gets the local area requirements.
*
* @param demandScenarioId
* the demand scenario id
* @return the local area requirements
*/
List<LocalAreaRequirement> getLocalAreaRequirements(String demandScenarioId);
/**
* Find local area requirement by id.
*
* @param id
* the id
* @return the local area requirement
*/
LocalAreaRequirement findLocalAreaRequirementById(String id);
/**
* Delete local area requirement.
*
* @param localAreaRequirement
* the local area requirement
* @throws WifInvalidInputException
* the wif invalid input exception
*/
void deleteLocalAreaRequirement(LocalAreaRequirement localAreaRequirement)
throws WifInvalidInputException;
/**
* Persist local area requirement.
*
* @param localAreaRequirement
* the local area requirement
* @return the local area requirement
*/
LocalAreaRequirement persistLocalAreaRequirement(
LocalAreaRequirement localAreaRequirement);
}