package au.org.aurin.wif.svc.suitability; import java.util.List; import au.org.aurin.wif.exception.config.WifInvalidConfigException; import au.org.aurin.wif.exception.validate.InvalidLabelException; import au.org.aurin.wif.exception.validate.WifInvalidInputException; import au.org.aurin.wif.model.suitability.SuitabilityLU; /** * The Interface SuitabilityLUService. It handles the CRUD operations on * SuitabilityLU, plus other important access operations */ public interface SuitabilityLUService { /** * Adds the suitabilityLU. * * @param suitabilityLU * the suitabilityLU * @param projectId * the project id * @return the suitabilityLU * @throws WifInvalidInputException * the wif invalid input exception * @throws WifInvalidConfigException * the wif invalid config exception * @throws InvalidLabelException */ SuitabilityLU createSuitabilityLU(SuitabilityLU suitabilityLU, String projectId) throws WifInvalidInputException, WifInvalidConfigException, InvalidLabelException; /** * Gets the suitabilityLU. * * @param id * the id * @return the suitabilityLU * @throws WifInvalidInputException * the wif invalid input exception * @throws WifInvalidConfigException * the wif invalid config exception */ SuitabilityLU getSuitabilityLU(String id) throws WifInvalidInputException, WifInvalidConfigException; /** * Gets the suitabilityLU. * * @param id * the id * @param projectId * the project id * @return the suitabilityLU * @throws WifInvalidInputException * the wif invalid input exception * @throws WifInvalidConfigException * the wif invalid config exception */ SuitabilityLU getSuitabilityLU(String id, String projectId) throws WifInvalidInputException, WifInvalidConfigException; /** * Adds the associated lu. * * @param id * the allocationLU id * @param suitabilityLUId * the suitability lu id * @param projectId * the project id * @throws WifInvalidInputException * the wif invalid input exception * @throws WifInvalidConfigException * the wif invalid config exception */ void addAssociatedLU(String id, String suitabilityLUId, String projectId) throws WifInvalidInputException, WifInvalidConfigException; /** * Delete associated lu. * * @param id * the allocationLU id * @param suitabilityLUId * the suitability lu id * @param projectId * the project id * @throws WifInvalidInputException * the wif invalid input exception * @throws WifInvalidConfigException * the wif invalid config exception */ void deleteAssociatedLU(String id, String suitabilityLUId, String projectId) throws WifInvalidInputException, WifInvalidConfigException; /** * Get associated LU IDs. * * @param suitabilityLUId * the suitability lu id * @param projectId * the project id * @return list of associated LU IDs * @throws WifInvalidInputException * the wif invalid input exception * @throws WifInvalidConfigException * the wif invalid config exception */ List<String> getAssociatedLUs(String suitabilityLUId, String projectId) throws WifInvalidInputException, WifInvalidConfigException; // /** * Update suitabilityLU. * * @param suitabilityLU * the suitabilityLU * @param projectId * the project id * @throws WifInvalidInputException * the wif invalid input exception * @throws WifInvalidConfigException * the wif invalid config exception */ void updateSuitabilityLU(SuitabilityLU suitabilityLU, String projectId) throws WifInvalidInputException, WifInvalidConfigException; /** * Delete suitabilityLU. * * @param id * the id * @param projectId * the project id * @throws WifInvalidInputException * the wif invalid input exception * @throws WifInvalidConfigException * the wif invalid config exception */ void deleteSuitabilityLU(String id, String projectId) throws WifInvalidInputException, WifInvalidConfigException; /** * Gets the suitabilityLUs. * * @param projectId * the project id * @return the suitabilityLUs * @throws WifInvalidInputException * the wif invalid input exception */ List<SuitabilityLU> getSuitabilityLUs(String projectId) throws WifInvalidInputException; /** * Gets the suitability lu no mapping. * * @param suitabilityLUId * the suitability lu id * @param projectId * the project id * @return the suitability lu no mapping * @throws WifInvalidInputException * the wif invalid input exception * @throws WifInvalidConfigException * the wif invalid config exception */ SuitabilityLU getSuitabilityLUNoMapping(String suitabilityLUId, String projectId) throws WifInvalidInputException, WifInvalidConfigException; }