1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package io.github.tonywasher.joceanus.metis.viewer;
18
19 import io.github.tonywasher.joceanus.oceanus.format.OceanusDataFormatter;
20 import io.github.tonywasher.joceanus.metis.data.MetisDataItem.MetisDataList;
21 import io.github.tonywasher.joceanus.metis.data.MetisDataResource;
22 import io.github.tonywasher.joceanus.metis.field.MetisFieldItem;
23 import io.github.tonywasher.joceanus.metis.field.MetisFieldSet;
24
25 import java.util.ArrayList;
26 import java.util.Iterator;
27 import java.util.List;
28
29
30
31
32 public class MetisViewerErrorList
33 implements MetisFieldItem, MetisDataList<MetisViewerExceptionWrapper> {
34
35
36
37 private static final MetisFieldSet<MetisViewerErrorList> FIELD_DEFS = MetisFieldSet.newFieldSet(MetisViewerErrorList.class);
38
39
40
41
42 static {
43 FIELD_DEFS.declareLocalField(MetisDataResource.LIST_SIZE, MetisViewerErrorList::size);
44 }
45
46
47
48
49 private final List<MetisViewerExceptionWrapper> theList;
50
51
52
53
54 public MetisViewerErrorList() {
55 theList = new ArrayList<>();
56 }
57
58 @Override
59 public MetisFieldSet<MetisViewerErrorList> getDataFieldSet() {
60 return FIELD_DEFS;
61 }
62
63 @Override
64 public String formatObject(final OceanusDataFormatter pFormatter) {
65 return getDataFieldSet().getName();
66 }
67
68
69
70
71
72
73 public void addList(final MetisViewerErrorList pValues) {
74
75 final Iterator<MetisViewerExceptionWrapper> myIterator = pValues.iterator();
76 while (myIterator.hasNext()) {
77
78 theList.add(myIterator.next());
79 }
80 }
81
82 @Override
83 public List<MetisViewerExceptionWrapper> getUnderlyingList() {
84 return theList;
85 }
86
87
88
89
90
91
92 public MetisViewerExceptionWrapper getFirst() {
93 return isEmpty()
94 ? null
95 : theList.get(0);
96 }
97 }