Package org.springframework.batch.item.file.transform

# 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

  Modifier and Type
  Method
  Description
  `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 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:
      - `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 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.