package au.org.aurin.wif.restclient.suitability; import java.util.List; import org.springframework.validation.BindException; import au.org.aurin.wif.exception.config.WifInvalidConfigException; import au.org.aurin.wif.exception.validate.WifInvalidInputException; import au.org.aurin.wif.model.suitability.SuitabilityLU; /** * The Interface SuitabilityLUServiceClient. */ public interface SuitabilityLUServiceClient { /** * Sets the url. * * @param url the new url */ void setUrl(String url); /** * Gets the suitability l us for project. * * @param roleId the role id * @param projectId the project id * @return the suitability l us for project * @throws WifInvalidInputException the wif invalid input exception */ List<SuitabilityLU> getSuitabilityLUsForProject(String roleId, String projectId) throws WifInvalidInputException; /** * Gets the suitability lu. * * @param roleId the role id * @param projectId the project id * @param id the id * @return the suitability lu * @throws WifInvalidInputException the wif invalid input exception * @throws WifInvalidConfigException the wif invalid config exception */ SuitabilityLU getSuitabilityLU(String roleId, String projectId, String id) throws WifInvalidInputException, WifInvalidConfigException; /** * Creates the suitability lu. * * @param roleId the role id * @param projectId the project id * @param suitabilityLU the suitability lu * @return the string * @throws WifInvalidInputException the wif invalid input exception * @throws BindException the bind exception * @throws WifInvalidConfigException the wif invalid config exception */ String createSuitabilityLU(String roleId, String projectId, SuitabilityLU suitabilityLU) throws WifInvalidInputException, BindException, WifInvalidConfigException; /** * Update suitability lu. * * @param roleId the role id * @param projectId the project id * @param id the id * @param suitabilityLU the suitability lu * @throws WifInvalidInputException the wif invalid input exception * @throws BindException the bind exception * @throws WifInvalidConfigException the wif invalid config exception */ void updateSuitabilityLU(String roleId, String projectId, String id, SuitabilityLU suitabilityLU) throws WifInvalidInputException, BindException, WifInvalidConfigException; /** * Delete suitability lu. * * @param roleId the role id * @param projectId the project id * @param id the id * @throws WifInvalidInputException the wif invalid input exception */ void deleteSuitabilityLU(String roleId, String projectId, String id) throws WifInvalidInputException; /** * Adds the associated lu. * * @param roleId the role id * @param projectId the project id * @param suitabilityLUId the suitability lu id * @param id the id * @throws WifInvalidInputException the wif invalid input exception * @throws BindException the bind exception * @throws WifInvalidConfigException the wif invalid config exception */ void addAssociatedLU(String roleId, String projectId, String suitabilityLUId, String id) throws WifInvalidInputException, BindException, WifInvalidConfigException; /** * Delete associated lu. * * @param roleId the role id * @param projectId the project id * @param suitabilityLUId the suitability lu id * @param id the id * @throws WifInvalidInputException the wif invalid input exception * @throws BindException the bind exception * @throws WifInvalidConfigException the wif invalid config exception */ void deleteAssociatedLU(String roleId, String projectId, String suitabilityLUId, String id) throws WifInvalidInputException, BindException, WifInvalidConfigException; /** * Gets the associated l us. * * @param roleId the role id * @param projectId the project id * @param suitabilityLUId the suitability lu id * @return the associated l us * @throws WifInvalidInputException the wif invalid input exception * @throws BindException the bind exception * @throws WifInvalidConfigException the wif invalid config exception */ List<String> getAssociatedLUs(String roleId, String projectId, String suitabilityLUId) throws WifInvalidInputException, BindException, WifInvalidConfigException; }