package pt.ist.expenditureTrackingSystem.domain.dto;
import java.io.Serializable;
public class Issue implements Serializable {
public static enum IssueTypeLevel {
ERROR, WARNING;
}
public static enum IssueType {
EMPTY_LINE(IssueTypeLevel.WARNING),
WRONG_NUMBER_LINE_COLUMNS(IssueTypeLevel.ERROR),
SUPPLIER_DOES_NOT_EXIST(IssueTypeLevel.ERROR),
CPV_DOES_NOT_EXIST(IssueTypeLevel.ERROR),
NATURE_DOES_NOT_EXIST(IssueTypeLevel.ERROR),
BAD_MONEY_VALUE_FORMAT(IssueTypeLevel.ERROR),
BAD_VAT_VALUE_FORMAT(IssueTypeLevel.ERROR),
CANNOT_ALLOCATE_MONEY_TO_SUPPLIER(IssueTypeLevel.ERROR);
private IssueTypeLevel issueTypeLevel;
private IssueType(final IssueTypeLevel issueTypeLevel) {
this.issueTypeLevel = issueTypeLevel;
}
public IssueTypeLevel getIssueTypeLevel() {
return issueTypeLevel;
}
}
private final IssueType issueType;
private final int lineNumber;
private final String[] messageArgs;
public Issue(final IssueType issueType, final int lineNumber, final String... messageArgs) {
this.issueType = issueType;
this.lineNumber = lineNumber;
this.messageArgs = messageArgs;
}
public int getLineNumber() {
return lineNumber;
}
public IssueType getIssueType() {
return issueType;
}
public String[] getMessageArgs() {
return messageArgs;
}
}