org.springframework.batch.item.file.transform
Class FixedLengthTokenizer

java.lang.Object
  extended by org.springframework.batch.item.file.transform.AbstractLineTokenizer
      extended by 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

Field Summary
 
Fields inherited from class org.springframework.batch.item.file.transform.AbstractLineTokenizer
names
 
Constructor Summary
FixedLengthTokenizer()
           
 
Method Summary
protected  List<String> doTokenize(String line)
          Yields the tokens resulting from the splitting of the supplied line.
 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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

FixedLengthTokenizer

public FixedLengthTokenizer()
Method Detail

setColumns

public void setColumns(Range[] ranges)
Set the column ranges. Used in conjunction with the RangeArrayPropertyEditor 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 List<String> doTokenize(String line)
Yields the tokens resulting from the splitting of the supplied line.

Specified by:
doTokenize in class AbstractLineTokenizer
Parameters:
line - the line to be tokenised (can be null)
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.


Copyright © 2013 SpringSource. All Rights Reserved.