package fr.openwide.core.commons.util.report; import java.io.Serializable; import java.util.Date; import org.apache.commons.lang3.builder.ToStringBuilder; import org.bindgen.Bindable; import fr.openwide.core.commons.util.CloneUtils; @Bindable public class BatchReportItem implements Serializable { private static final long serialVersionUID = -8250079955023459814L; private String message; private BatchReportItemSeverity severity; private Exception exception; private Date date; protected BatchReportItem() { } public BatchReportItem(BatchReportItemSeverity severity, String message) { setSeverity(severity); setMessage(message); setDate(new Date()); } public BatchReportItem(BatchReportItemSeverity severity, String message, Exception e) { this(severity, message); setException(e); } public String getMessage() { return message; } public void setMessage(String message) { this.message = message; } public BatchReportItemSeverity getSeverity() { return severity; } public void setSeverity(BatchReportItemSeverity severity) { this.severity = severity; } public void setException(Exception exception) { this.exception = exception; } public Exception getException() { return exception; } public void setDate(Date date) { this.date = CloneUtils.clone(date); } public Date getDate() { return CloneUtils.clone(date); } @Override public String toString() { return new ToStringBuilder(this) .append("severity", severity.name()) .append("date", date) .append("message", message) .build(); } }