package org.ovirt.engine.core.common.utils.customprop;
import java.util.Objects;
/**
* Class describing errors appear during custom properties validation
*/
public class ValidationError {
/**
* Reason of error
*/
private final ValidationFailureReason reason;
/**
* Property name on which the error appeared
*/
private final String keyName;
/**
* Creates instance with specified reason and property name
*
* @param reason
* reason of error
* @param keyName
* property name
*/
public ValidationError(ValidationFailureReason reason, String keyName) {
this.reason = reason;
this.keyName = keyName;
}
/**
* Returns reason of error
*/
public ValidationFailureReason getReason() {
return reason;
}
/**
* Returns property name on which the error appeared
*/
public String getKeyName() {
return keyName;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (!(obj instanceof ValidationError)) {
return false;
}
ValidationError other = (ValidationError) obj;
return Objects.equals(keyName, other.keyName)
&& reason == other.reason;
}
@Override
public int hashCode() {
return Objects.hash(
keyName,
reason
);
}
/**
* Returns {@code true}, if no error appeared, otherwise {@code false}
*/
public boolean isOK() {
return reason == ValidationFailureReason.NO_ERROR;
}
}