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
  • Constructor Details

    • FixedLengthTokenizer

      public FixedLengthTokenizer()
  • Method Details

    • 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:
    • 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 tokenized (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.