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.Factor; /** * The Interface FactorServiceClient. */ public interface FactorServiceClient { /** * Gets the factors for project. * * @param roleId the role id * @param projectId the project id * @return the factors for project * @throws WifInvalidInputException the wif invalid input exception */ List<Factor> getFactorsForProject(String roleId, String projectId) throws WifInvalidInputException; /** * Gets the factor. * * @param roleId the role id * @param projectId the project id * @param id the id * @return the factor * @throws WifInvalidInputException the wif invalid input exception * @throws WifInvalidConfigException the wif invalid config exception */ Factor getFactor(String roleId, String projectId, String id) throws WifInvalidInputException, WifInvalidConfigException; /** * Creates the factor. * * @param roleId the role id * @param projectId the project id * @param factor the factor * @return the string * @throws WifInvalidInputException the wif invalid input exception * @throws BindException the bind exception * @throws WifInvalidConfigException the wif invalid config exception */ String createFactor(String roleId, String projectId, Factor factor) throws WifInvalidInputException, BindException, WifInvalidConfigException; /** * Update factor. * * @param roleId the role id * @param projectId the project id * @param id the id * @param factor the factor * @throws WifInvalidInputException the wif invalid input exception * @throws BindException the bind exception * @throws WifInvalidConfigException the wif invalid config exception */ void updateFactor(String roleId, String projectId, String id, Factor factor) throws WifInvalidInputException, BindException, WifInvalidConfigException; /** * Delete factor. * * @param roleId the role id * @param projectId the project id * @param id the id * @throws WifInvalidInputException the wif invalid input exception */ void deleteFactor(String roleId, String projectId, String id) throws WifInvalidInputException; }