public ILine sendToWriter() {
if (null == sender) {
throw new IllegalStateException("LineSender cannot be null .");
}
ILine line = sender.createNewLine();
int begin = 0;
int i = 0;
if (!colListSet) {
for (i = 0; i < s.length(); ++i) {
if (s.charAt(i) == fieldSplit) {
line.addField(replace(s.substring(begin, i)));
begin = i + 1;
}
}
// last field
line.addField(replace(s.substring(begin, i)));
} else {
int colIndex = 0;
for (i = 0; i < s.length(); ++i) {
if (s.charAt(i) == fieldSplit) {
if (colList[colIndex] >= 0) {
line.addField(replace(s.substring(begin, i)),
colList[colIndex]);
}
begin = i + 1;
colIndex++;
}
}
if (colList[colIndex] >= 0) {
line.addField(replace(s.substring(begin, i)),
colList[colIndex]);
}
// add constant columns
for (Integer k : constColMap.keySet()) {
line.addField(constColMap.get(k), k);
}
}
boolean flag = sender.send(line);
if (flag) {