
es.urjc.etsii.grafo.services.ValidationResult Maven / Gradle / Ivy
package es.urjc.etsii.grafo.services;
import es.urjc.etsii.grafo.exception.InvalidSolutionException;
/**
* Result of validating a solution
*/
public class ValidationResult {
private final boolean isValid;
private final String reasonFailed;
/**
* Is the solution valid?
*
* @return true if the solution passed all validations, false if any failed
*/
public boolean isValid() {
return isValid;
}
/**
* If the validation failed, returns the cause.
*
* @return cause if validation failure
*/
public String getReasonFailed() {
return reasonFailed;
}
private ValidationResult(boolean isValid, String reasonFailed) {
this.isValid = isValid;
this.reasonFailed = reasonFailed;
}
public void throwIfFail(){
if(!this.isValid()){
throw new InvalidSolutionException(this.reasonFailed);
}
}
/**
* Validation passed
*
* @return ValidationResult
*/
public static ValidationResult ok(){
return new ValidationResult(true, "");
}
/**
* Validation failed
*
* @param reason reason why the validation failed
* @return ValidationResult
*/
public static ValidationResult fail(String reason){
return new ValidationResult(false, reason);
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy