package ru.hflabs.rcd.web.model;
import lombok.Getter;
import lombok.Setter;
import org.apache.commons.lang.builder.ToStringBuilder;
import org.apache.commons.lang.builder.ToStringStyle;
import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import java.io.Serializable;
import java.util.Collection;
import java.util.Map;
/**
* Класс <class>ErrorBean</class> реализует декоратор ошибок при выполнении запроса
*
* @author Nazin Alexander
*/
@Getter
@Setter
@XmlAccessorType(XmlAccessType.PROPERTY)
public class ErrorBean implements Serializable {
private static final long serialVersionUID = -6507876639566627819L;
/*
* Название полей с идентификаторами
*/
public static final String GLOBAL_ERRORS = "globalErrors";
public static final String FIELD_ERRORS = "fieldErrors";
/** Код сообщения по умолчанию */
public static final String UNEXPECTED_ERROR_KEY = Throwable.class.getSimpleName();
/** Глобальные ошибки при выполнении запроса */
private Collection<String> globalErrors;
/** Ошибки валидации полей при выполнении запроса */
private Map<String, String> fieldErrors;
public ErrorBean() {
this(null);
}
public ErrorBean(Collection<String> globalErrors) {
this(globalErrors, null);
}
public ErrorBean(Collection<String> globalErrors, Map<String, String> fieldErrors) {
setGlobalErrors(globalErrors);
setFieldErrors(fieldErrors);
}
@Override
public String toString() {
return ToStringBuilder.reflectionToString(this, ToStringStyle.SHORT_PREFIX_STYLE);
}
}