/** * Creates a new child segement and inserts it after the last segement with the same name * * @param newChildSeg */ public void attachDuplicateChildSegment(CSVSegment newChildSeg) { newChildSeg.setParentSegment(this); int childSegSite = 0; ArrayList<CSVSegment> childSegList = this.getChildSegments(); for (int i = 0; i < childSegList.size(); i++) { CSVSegment childSeg = (CSVSegment) childSegList.get(i); if (newChildSeg.getName().equals(childSeg.getName())) childSegSite = i; } this.getChildSegments().add(childSegSite + 1, newChildSeg); }
private void processCsvSegment(CSVSegment seg, String indent) { // process CSV fields xmlBuffer.append(indent + "<" + seg.getName()); for (CSVField field : seg.getFields()) { xmlBuffer.append(" " + field.getName() + "=\"" + field.getValue() + "\""); } xmlBuffer.append(">\n"); // process child CSV segments for (CSVSegment childSeg : seg.getChildSegments()) { processCsvSegment(childSeg, indent + "\t"); } xmlBuffer.append(indent + "</" + seg.getName() + ">\n"); }
/** * Find all child segment with the given name * * @param childName * @return */ public List<CSVSegment> getChildSegmentsByName(String childName) { ArrayList<CSVSegment> rtnList = new ArrayList<CSVSegment>(); for (CSVSegment childSeg : getChildSegments()) if (childSeg.getName().equals(childName)) rtnList.add(childSeg); return rtnList; }