Class FixedLengthTokenizer
- java.lang.Object
- org.springframework.batch.item.file.transform.AbstractLineTokenizer
- org.springframework.batch.item.file.transform.FixedLengthTokenizer
- All Implemented Interfaces:
LineTokenizer
public class FixedLengthTokenizer extends AbstractLineTokenizer
Tokenizer used to process data obtained from files with fixed-length format. Columns are specified by array of Range objects (setColumns(Range[])
).- Author:
- tomas.slanina, peter.zozom, Dave Syer, Lucas Ward, Michael Minella
Field Summary
Fields inherited from class org.springframework.batch.item.file.transform.AbstractLineTokenizer
names
Constructor Summary
Constructors Constructor Description FixedLengthTokenizer()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected java.util.List<java.lang.String>
doTokenize(java.lang.String line)
Yields the tokens resulting from the splitting of the suppliedline
.void
setColumns(Range... ranges)
Set the column ranges.Methods inherited from class org.springframework.batch.item.file.transform.AbstractLineTokenizer
hasNames, isStrict, setFieldSetFactory, setNames, setStrict, tokenize
Method Detail
setColumns
public void setColumns(Range... ranges)
Set the column ranges. Used in conjunction with theRangeArrayPropertyEditor
this property can be set in the form of a String describing the range boundaries, e.g. "1,4,7" or "1-3,4-6,7" or "1-2,4-5,7-10". If the last range is open then the rest of the line is read into that column (irrespective of the strict flag setting).- Parameters:
ranges
- the column ranges expected in the input- See Also:
AbstractLineTokenizer.setStrict(boolean)
doTokenize
protected java.util.List<java.lang.String> doTokenize(java.lang.String line)
Yields the tokens resulting from the splitting of the suppliedline
.- Specified by:
doTokenize
in classAbstractLineTokenizer
- Parameters:
line
- the line to be tokenized (can benull
)- Returns:
- the resulting tokens (empty if the line is null)
- Throws:
IncorrectLineLengthException
- if line length is greater than or less than the max range set.