1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 package ca.uhn.hl7v2.testpanel.util.compare;
23
24 import java.util.Collections;
25 import java.util.List;
26
27 import ca.uhn.hl7v2.model.Segment;
28
29 public class SegmentComparison extends StructureComparison {
30
31
32 private Boolean mySame;
33 private List<FieldComparison> myFieldComparisons;
34 private Segment myActualSegment;
35 private Segment myExpectSegment;
36 private String myName;
37
38
39
40 public SegmentComparison(String theName, List<FieldComparison> theFieldComparisons) {
41 myFieldComparisons = theFieldComparisons;
42 myName = theName;
43 }
44
45 public SegmentComparison(String theName, Segment../../../ca/uhn/hl7v2/model/Segment.html#Segment">Segment theExpectSegment, Segment theActualSegment) {
46 myExpectSegment = theExpectSegment;
47 myActualSegment = theActualSegment;
48 myName = theName;
49 }
50
51
52
53 @Override
54 public List<SegmentComparison> flattenMessage() {
55 return Collections.singletonList(this);
56 }
57
58 public Segment getActualSegment() {
59 return myActualSegment;
60 }
61
62 public Segment getExpectSegment() {
63 return myExpectSegment;
64 }
65
66 public List<FieldComparison> getFieldComparisons() {
67 return myFieldComparisons;
68 }
69
70 public String getName() {
71 return myName;
72 }
73
74 public boolean isSame() {
75 if (mySame == null) {
76 if (myFieldComparisons != null) {
77 mySame = true;
78
79 for (FieldComparison next : myFieldComparisons) {
80 if (! next.isSame()) {
81 mySame = false;
82
83 break;
84 }
85 }
86 } else {
87 mySame = false;
88 }
89 }
90
91 return mySame;
92 }
93 }