1 package com.opencsv.exceptions;
2
3 import java.util.LinkedList;
4 import java.util.List;
5
6
7
8
9
10
11
12
13 public class CsvChainedException extends CsvException {
14
15 private final List<CsvFieldAssignmentException> exceptionChain = new LinkedList<>();
16
17
18
19
20
21
22 public CsvChainedException(CsvFieldAssignmentException csve) {
23 exceptionChain.add(csve);
24 }
25
26
27
28
29
30
31 public void add(CsvFieldAssignmentException csve) {
32 exceptionChain.add(csve);
33 }
34
35
36
37
38 public List<CsvFieldAssignmentException> getExceptionChain() {
39 return exceptionChain;
40 }
41
42
43
44 @Override
45 public void setLine(String[] line) {
46 super.setLine(line);
47 exceptionChain.forEach(e -> e.setLine(line));
48 }
49
50
51
52 @Override
53 public void setLineNumber(long lineNumber) {
54 super.setLineNumber(lineNumber);
55 exceptionChain.forEach(e -> e.setLineNumber(lineNumber));
56 }
57
58
59
60
61
62
63
64 public boolean hasOnlyOneException() {
65 return exceptionChain.size() == 1;
66 }
67
68
69
70
71
72
73
74 public CsvFieldAssignmentException getFirstException() {
75 return exceptionChain.isEmpty() ? null : exceptionChain.get(0);
76 }
77 }