Class PatternMatchingCompositeLineTokenizer

java.lang.Object
org.springframework.batch.item.file.transform.PatternMatchingCompositeLineTokenizer
All Implemented Interfaces:
LineTokenizer

public class PatternMatchingCompositeLineTokenizer extends Object implements LineTokenizer
A LineTokenizer implementation that stores a mapping of String patterns to delegate LineTokenizers. Each line tokenized will be checked to see if it matches a pattern. If the line matches a key in the map of delegates, then the corresponding delegate LineTokenizer will be used. Patterns are sorted starting with the most specific, and the first match succeeds.
Author:
Ben Hale, Dan Garrette, Dave Syer, Mahmoud Ben Hassine
  • Constructor Details

    • PatternMatchingCompositeLineTokenizer

      public PatternMatchingCompositeLineTokenizer(Map<String,LineTokenizer> tokenizers)
      Construct a PatternMatchingCompositeLineTokenizer with the provided map of tokenizers. The map must be non-empty.
      Parameters:
      tokenizers - the map of patterns to tokenizers
      Since:
      6.0
  • Method Details

    • tokenize

      public FieldSet tokenize(String line)
      Description copied from interface: LineTokenizer
      Yields the tokens resulting from the splitting of the supplied line.
      Specified by:
      tokenize in interface LineTokenizer
      Parameters:
      line - the line to be tokenized
      Returns:
      the resulting tokens
    • setTokenizers

      public void setTokenizers(Map<String,LineTokenizer> tokenizers)