1 | package pro.verron.officestamper.preset; | |
2 | ||
3 | import org.springframework.lang.NonNull; | |
4 | ||
5 | import java.util.*; | |
6 | ||
7 | import static java.util.Collections.singletonList; | |
8 | ||
9 | /** | |
10 | * Represents a table with several columns, a header line, and several lines of content | |
11 | * | |
12 | * @author Joseph Verron | |
13 | * @version ${version} | |
14 | * @since 1.6.2 | |
15 | */ | |
16 | public class StampTable | |
17 | extends AbstractSequentialList<List<String>> { | |
18 | private final List<String> headers; | |
19 | private final List<List<String>> records; | |
20 | ||
21 | @Override public boolean equals(Object o) { | |
22 |
2
1. equals : negated conditional → NO_COVERAGE 2. equals : replaced boolean return with false for pro/verron/officestamper/preset/StampTable::equals → NO_COVERAGE |
if (this == o) return true; |
23 |
3
1. equals : negated conditional → NO_COVERAGE 2. equals : replaced boolean return with true for pro/verron/officestamper/preset/StampTable::equals → NO_COVERAGE 3. equals : negated conditional → NO_COVERAGE |
if (o == null || getClass() != o.getClass()) return false; |
24 |
2
1. equals : replaced boolean return with true for pro/verron/officestamper/preset/StampTable::equals → NO_COVERAGE 2. equals : negated conditional → NO_COVERAGE |
if (!super.equals(o)) return false; |
25 | StampTable lists = (StampTable) o; | |
26 |
3
1. equals : negated conditional → NO_COVERAGE 2. equals : negated conditional → NO_COVERAGE 3. equals : replaced boolean return with true for pro/verron/officestamper/preset/StampTable::equals → NO_COVERAGE |
return Objects.equals(headers, lists.headers) && Objects.equals(records, lists.records); |
27 | } | |
28 | ||
29 | @Override public int hashCode() { | |
30 |
1
1. hashCode : replaced int return with 0 for pro/verron/officestamper/preset/StampTable::hashCode → NO_COVERAGE |
return Objects.hash(super.hashCode(), headers, records); |
31 | } | |
32 | ||
33 | /** | |
34 | * Instantiate an empty table | |
35 | */ | |
36 | public StampTable() { | |
37 | this.headers = new ArrayList<>(); | |
38 | this.records = new ArrayList<>(); | |
39 | } | |
40 | ||
41 | /** | |
42 | * Instantiate a table with headers and several lines | |
43 | * | |
44 | * @param headers the header lines | |
45 | * @param records the lines that the table should contain | |
46 | */ | |
47 | public StampTable( | |
48 | @NonNull List<String> headers, | |
49 | @NonNull List<List<String>> records | |
50 | ) { | |
51 | this.headers = headers; | |
52 | this.records = records; | |
53 | } | |
54 | ||
55 | @Override | |
56 | public int size() { | |
57 |
1
1. size : replaced int return with 0 for pro/verron/officestamper/preset/StampTable::size → KILLED |
return records.size(); |
58 | } | |
59 | ||
60 | @Override | |
61 | @NonNull | |
62 | public ListIterator<List<String>> listIterator(int index) { | |
63 |
1
1. listIterator : replaced return value with null for pro/verron/officestamper/preset/StampTable::listIterator → KILLED |
return records.listIterator(index); |
64 | } | |
65 | ||
66 | /** | |
67 | * <p>empty.</p> | |
68 | * | |
69 | * @return a {@link StampTable} object | |
70 | */ | |
71 | public static StampTable empty() { | |
72 |
1
1. empty : replaced return value with null for pro/verron/officestamper/preset/StampTable::empty → NO_COVERAGE |
return new StampTable( |
73 | singletonList("placeholder"), | |
74 | singletonList(singletonList("placeholder")) | |
75 | ); | |
76 | } | |
77 | ||
78 | /** | |
79 | * <p>headers.</p> | |
80 | * | |
81 | * @return a {@link List} object | |
82 | */ | |
83 | public List<String> headers() { | |
84 |
1
1. headers : replaced return value with Collections.emptyList for pro/verron/officestamper/preset/StampTable::headers → KILLED |
return headers; |
85 | } | |
86 | ||
87 | } | |
Mutations | ||
22 |
1.1 2.2 |
|
23 |
1.1 2.2 3.3 |
|
24 |
1.1 2.2 |
|
26 |
1.1 2.2 3.3 |
|
30 |
1.1 |
|
57 |
1.1 |
|
63 |
1.1 |
|
72 |
1.1 |
|
84 |
1.1 |