package au.org.aurin.wif.svc.suitability; import au.org.aurin.wif.exception.config.ParsingException; import au.org.aurin.wif.exception.config.WifInvalidConfigException; import au.org.aurin.wif.exception.validate.IncompleteDemandConfigNewException; import au.org.aurin.wif.exception.validate.WifInvalidInputException; import au.org.aurin.wif.model.demand.DemandConfigNew; /** * The Interface DemandConfigNewService. It handles the CRUD operations on * DemandConfigNew. */ public interface DemandConfigNewService { /** * Adds the DemandConfigNew. * * @param DemandConfigNew * the DemandConfigNew * @param projectId * the project id * @return the DemandConfigNew * @throws WifInvalidInputException * the wif invalid input exception * @throws WifInvalidConfigException * the wif invalid config exception * @throws ParsingException * the parsing exception * @throws IncompleteDemandConfigNewException * the incomplete demand config exception */ DemandConfigNew createDemandConfigNew(DemandConfigNew DemandConfigNew, String projectId) throws WifInvalidInputException, WifInvalidConfigException, ParsingException, IncompleteDemandConfigNewException; /** * Gets the DemandConfigNew. * * @param projectId * the project id * @return the DemandConfigNew * @throws WifInvalidInputException * the wif invalid input exception * @throws WifInvalidConfigException * the wif invalid config exception * @throws ParsingException * the parsing exception */ DemandConfigNew getDemandConfigNew(String projectId) throws WifInvalidInputException, WifInvalidConfigException, ParsingException; /** * Update DemandConfigNew. * * @param DemandConfigNew * the DemandConfigNew * @param projectId * the project id * @throws WifInvalidInputException * the wif invalid input exception * @throws WifInvalidConfigException * the wif invalid config exception */ void updateDemandConfigNew(DemandConfigNew DemandConfigNew, String projectId) throws WifInvalidInputException, WifInvalidConfigException; /** * Delete DemandConfigNew. * * @param projectId * the project id * @throws WifInvalidInputException * the wif invalid input exception * @throws WifInvalidConfigException * the wif invalid config exception */ void deleteDemandConfigNew(String projectId) throws WifInvalidInputException, WifInvalidConfigException; }