package org.springframework.batch.item.file.transform; import java.util.ArrayList; import java.util.List; import org.springframework.batch.item.file.mapping.DefaultFieldSet; import org.springframework.batch.item.file.mapping.FieldSet; import de.abs.basics.Base; public class TrimDelimitedLineTokenizer extends DelimitedLineTokenizer { private boolean trimLine = false; private boolean trimFieldSet = false; private String lastLine; public boolean isTrimLine() { return trimLine; } public void setTrimLine(boolean trimLine) { this.trimLine = trimLine; } public boolean isTrimFieldSet() { return trimFieldSet; } public void setTrimFieldSet(boolean trimFieldSet) { this.trimFieldSet = trimFieldSet; } public String getLastLine() { return lastLine; } @Override protected List doTokenize(String line) { lastLine = line; if (trimLine) line = line.trim(); List retVal = super.doTokenize(line); if (trimFieldSet) { List valuesList = new ArrayList(retVal.size()); for (Object object : retVal) { if (object instanceof String) valuesList.add(((String)object).trim()); } retVal = valuesList; } return retVal; } }