package com.github.rojanu.contact.api.exception;
import com.facebook.swift.codec.ThriftConstructor;
import com.facebook.swift.codec.ThriftField;
import com.facebook.swift.codec.ThriftStruct;
@ThriftStruct
public final class ValidationException extends Exception {
private int errorCode;
private String field;
private String message;
public ValidationException(int errorCode, String message) {
this(errorCode, null, message);
}
@ThriftConstructor
public ValidationException(int errorCode, String field, String message) {
super(message);
this.errorCode = errorCode;
this.message = message;
this.field = field;
}
@ThriftField(1)
public int getErrorCode() {
return errorCode;
}
public void setErrorCode(int errorCode) {
this.errorCode = errorCode;
}
@ThriftField(2)
@Override
public String getMessage() {
return message;
}
public void setMessage(String message) {
this.message = message;
}
@ThriftField(3)
public String getField() {
return field;
}
public void setField(String field) {
this.field = field;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
ValidationException that = (ValidationException) o;
if (errorCode != that.errorCode) return false;
if (field != null ? !field.equals(that.field) : that.field != null) return false;
if (message != null ? !message.equals(that.message) : that.message != null) return false;
return true;
}
@Override
public int hashCode() {
int result = errorCode;
result = 31 * result + (message != null ? message.hashCode() : 0);
result = 31 * result + (field != null ? field.hashCode() : 0);
return result;
}
@Override
public String toString() {
return "ValidationException{" +
"errorCode=" + errorCode +
", field='" + field + '\'' +
", message='" + message + '\'' +
'}';
}
}