Summary Table
Categories |
Total Count |
PII |
0 |
URL |
0 |
DNS |
0 |
EKL |
0 |
IP |
0 |
PORT |
0 |
VsID |
0 |
CF |
0 |
AI |
0 |
VPD |
0 |
PL |
0 |
Other |
0 |
File Content
package gov.va.med.ars.util;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
public class CA277SegmentList implements Iterable<Segment> {
private List<Segment> segmentList = new ArrayList<>();
private Context context;
private int fileGrpCount = 0;
public int getFileGrpCount() {
return fileGrpCount;
}
public void setFileGrpCount(int fileGrpCount) {
this.fileGrpCount = fileGrpCount;
}
public CA277SegmentList(Context context) {
this.context = context;
}
public Segment addSegment() {
Segment s = new Segment(this.context);
this.segmentList.add(s);
return s;
}
public List<Segment> addSegment(String segment) {
int stCount = 0, seCount = 0;
// this.context.getSegmentSeparator returns "~"
Segment newSegment = null;
String[] segments = segment.split("\\" + this.context.getSegmentSeparator());
for (String s : segments) {
newSegment = new Segment(this.context, s.trim());
String[] addElements = newSegment.addElements(newSegment.getSegment());
this.segmentList.add(newSegment);
if (addElements[0].equalsIgnoreCase("ST"))
stCount++;
else if (addElements[0].equalsIgnoreCase("SE"))
seCount++;
}
if (stCount > 0 && stCount == seCount) {
fileGrpCount = stCount;
}
return segmentList;
}
public Segment addSegment(Segment segment) {
this.segmentList.add(segment);
return segment;
}
public Segment getSegment(int index) {
return this.segmentList.get(index);
}
public List<Segment> getSegments() {
return this.segmentList;
}
@Override
public String toString() {
return "CA277File [segments=" + segmentList + "]";
}
@Override
public Iterator<Segment> iterator() {
return this.segmentList.iterator();
}
}