Class RegexLineTokenizer
- java.lang.Object
- org.springframework.batch.item.file.transform.AbstractLineTokenizer
- org.springframework.batch.item.file.transform.RegexLineTokenizer
- All Implemented Interfaces:
LineTokenizer
public class RegexLineTokenizer extends AbstractLineTokenizer
Line-tokenizer using a regular expression to filter out data (by using matching and non-matching groups). Consider the following regex which picks only the first and last name (notice the non-matching group in the middle):(.*?)(?: .*)* (.*)
For the names:- "Graham James Edward Miller"
- "Andrew Gregory Macintyre"
- "No MiddleName"
- "Miller", "Graham"
- "Macintyre", "Andrew"
- "MiddleName", "No"
- Author:
- Costin Leau
- See Also:
Matcher.group(int)
Field Summary
Fields inherited from class org.springframework.batch.item.file.transform.AbstractLineTokenizer
names
Constructor Summary
Constructors Constructor Description RegexLineTokenizer()
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)
void
setPattern(java.util.regex.Pattern pattern)
Sets the regex pattern to use.void
setRegex(java.lang.String regex)
Sets the regular expression to use.Methods inherited from class org.springframework.batch.item.file.transform.AbstractLineTokenizer
hasNames, isStrict, setFieldSetFactory, setNames, setStrict, tokenize
Method Detail
doTokenize
protected java.util.List<java.lang.String> doTokenize(java.lang.String line)
- Specified by:
doTokenize
in classAbstractLineTokenizer
setPattern
public void setPattern(java.util.regex.Pattern pattern)
Sets the regex pattern to use.- Parameters:
pattern
- Regular Expression pattern
setRegex
public void setRegex(java.lang.String regex)
Sets the regular expression to use.- Parameters:
regex
- regular expression (as a String)