Class AbstractLineTokenizer
java.lang.Object
org.springframework.batch.item.file.transform.AbstractLineTokenizer
- All Implemented Interfaces:
LineTokenizer
- Direct Known Subclasses:
DelimitedLineTokenizer
,FixedLengthTokenizer
,RegexLineTokenizer
Abstract class handling common concerns of various
LineTokenizer
implementations such as dealing with names and actual construction of FieldSet
- Author:
- Dave Syer, Robert Kasanicky, Lucas Ward, Michael Minella, Mahmoud Ben Hassine
-
Field Summary
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptiondoTokenize
(String line) boolean
hasNames()
protected boolean
isStrict()
Provides access to the strict flag for subclasses if needed.void
setFieldSetFactory
(FieldSetFactory fieldSetFactory) Factory forFieldSet
instances.void
Setter for column names.void
setStrict
(boolean strict) Public setter for the strict flag.Yields the tokens resulting from the splitting of the suppliedline
.
-
Field Details
-
names
-
-
Constructor Details
-
AbstractLineTokenizer
public AbstractLineTokenizer()
-
-
Method Details
-
setStrict
public void setStrict(boolean strict) Public setter for the strict flag. If true (the default) then number of tokens in line must match the number of tokens defined (byRange
, columns, etc.) inLineTokenizer
. If false then lines with less tokens will be tolerated and padded with empty columns, and lines with more tokens will simply be truncated.- Parameters:
strict
- the strict flag to set
-
isStrict
protected boolean isStrict()Provides access to the strict flag for subclasses if needed.- Returns:
- the strict flag value
-
setFieldSetFactory
Factory forFieldSet
instances. Can be injected by clients to customize the default number and date formats.- Parameters:
fieldSetFactory
- theFieldSetFactory
to set
-
setNames
Setter for column names. Optional, but if set, then all lines must have as many or fewer tokens.- Parameters:
names
- names of each column
-
hasNames
public boolean hasNames()- Returns:
true
if column names have been specified- See Also:
-
tokenize
Yields the tokens resulting from the splitting of the suppliedline
.- Specified by:
tokenize
in interfaceLineTokenizer
- Parameters:
line
- the line to be tokenized (can benull
)- Returns:
- the resulting tokens
-
doTokenize
-