com.dke.data.agrirouter.api.service.ParameterValidation Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of agrirouter-api-java-api Show documentation
Show all versions of agrirouter-api-java-api Show documentation
This project contains the API for the communication with the agrirouter. Everything you need for the onboarding process, secure communication and much more.
package com.dke.data.agrirouter.api.service;
import com.dke.data.agrirouter.api.exception.IllegalParameterDefinitionException;
import java.util.Set;
import javax.validation.ConstraintViolation;
import javax.validation.Validation;
import javax.validation.Validator;
import javax.validation.ValidatorFactory;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
/** Parameter validation using bean validation. */
public interface ParameterValidation {
Logger LOGGER = LogManager.getLogger();
/**
* Validation of the parameters. If there are any constraint violations, there will be a
* exception.
*
* @throws IllegalParameterDefinitionException -
*/
default void validate() {
LOGGER.debug("Validating parameters.");
ValidatorFactory validatorFactory = Validation.buildDefaultValidatorFactory();
Validator validator = validatorFactory.getValidator();
Set> validate = validator.validate(this);
if (validate.size() > 0) {
throw new IllegalParameterDefinitionException(validate);
}
}
}