Class FlatFileItemReaderBuilder<T>
- java.lang.Object
- org.springframework.batch.item.file.builder.FlatFileItemReaderBuilder<T>
public class FlatFileItemReaderBuilder<T> extends java.lang.ObjectA builder implementation for theFlatFileItemReader.- Since:
- 4.0
- Author:
- Michael Minella, Glenn Renfro, Mahmoud Ben Hassine
- See Also:
FlatFileItemReader
Nested Class Summary
Nested Classes Modifier and Type Class Description static classFlatFileItemReaderBuilder.DelimitedBuilder<T>A builder for constructing aDelimitedLineTokenizerstatic classFlatFileItemReaderBuilder.FixedLengthBuilder<T>A builder for constructing aFixedLengthTokenizer
Field Summary
Fields Modifier and Type Field Description protected org.apache.commons.logging.Loglogger
Constructor Summary
Constructors Constructor Description FlatFileItemReaderBuilder()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description FlatFileItemReaderBuilder<T>addComment(java.lang.String comment)Add a string to the list of Strings that indicate commented lines.FlatFileItemReaderBuilder<T>beanFactory(org.springframework.beans.factory.BeanFactory beanFactory)Configures theBeanFactoryused to create the beans that are returned as items.FlatFileItemReaderBuilder<T>beanMapperStrict(boolean beanMapperStrict)If set to true, mapping will fail if theFieldSetcontains fields that cannot be mapped to the bean.FlatFileItemReader<T>build()Builds theFlatFileItemReader.FlatFileItemReaderBuilder<T>comments(java.lang.String... comments)Set an array of Strings that indicate lines that are comments (and therefore skipped by the reader).FlatFileItemReaderBuilder<T>currentItemCount(int currentItemCount)Index for the current item.FlatFileItemReaderBuilder<T>customEditors(java.util.Map<java.lang.Class<?>,java.beans.PropertyEditor> customEditors)Register custom type converters for beans being mapped.FlatFileItemReaderBuilder.DelimitedBuilder<T>delimited()Returns an instance of aFlatFileItemReaderBuilder.DelimitedBuilderfor building aDelimitedLineTokenizer.FlatFileItemReaderBuilder<T>distanceLimit(int distanceLimit)Configures the maximum tolerance between the actual spelling of a field's name and the property's name.FlatFileItemReaderBuilder<T>encoding(java.lang.String encoding)Configure the encoding used by the reader to read the input source.FlatFileItemReaderBuilder<T>fieldSetMapper(FieldSetMapper<T> mapper)AFieldSetMapperimplementation to be used.FlatFileItemReaderBuilder.FixedLengthBuilder<T>fixedLength()Returns an instance of aFlatFileItemReaderBuilder.FixedLengthBuilderfor building aFixedLengthTokenizer.FlatFileItemReaderBuilder<T>lineMapper(LineMapper<T> lineMapper)ALineMapperimplementation to be used.FlatFileItemReaderBuilder<T>linesToSkip(int linesToSkip)The number of lines to skip at the beginning of reading the file.FlatFileItemReaderBuilder<T>lineTokenizer(LineTokenizer tokenizer)ALineTokenizerimplementation to be used.FlatFileItemReaderBuilder<T>maxItemCount(int maxItemCount)Configure the max number of items to be read.FlatFileItemReaderBuilder<T>name(java.lang.String name)The name used to calculate the key within theExecutionContext.FlatFileItemReaderBuilder<T>prototypeBeanName(java.lang.String prototypeBeanName)Configures the id of a prototype scoped bean to be used as the item returned by the reader.FlatFileItemReaderBuilder<T>recordSeparatorPolicy(RecordSeparatorPolicy policy)Configure a customRecordSeparatorPolicyfor the reader.FlatFileItemReaderBuilder<T>resource(org.springframework.core.io.Resource resource)TheResourceto be used as input.FlatFileItemReaderBuilder<T>saveState(boolean saveState)Configure if the state of theItemStreamSupportshould be persisted within theExecutionContextfor restart purposes.FlatFileItemReaderBuilder<T>skippedLinesCallback(LineCallbackHandler callback)A callback to be called for each line that is skipped.FlatFileItemReaderBuilder<T>strict(boolean strict)Configure if the reader should be in strict mode (require the inputResourceto exist).FlatFileItemReaderBuilder<T>targetType(java.lang.Class<? extends T> targetType)The class that will represent the "item" to be returned from the reader.
Method Detail
saveState
public FlatFileItemReaderBuilder<T> saveState(boolean saveState)
Configure if the state of theItemStreamSupportshould be persisted within theExecutionContextfor restart purposes.- Parameters:
saveState- defaults to true- Returns:
- The current instance of the builder.
name
public FlatFileItemReaderBuilder<T> name(java.lang.String name)
The name used to calculate the key within theExecutionContext. Required ifsaveState(boolean)is set to true.- Parameters:
name- name of the reader instance- Returns:
- The current instance of the builder.
- See Also:
ItemStreamSupport.setName(String)
maxItemCount
public FlatFileItemReaderBuilder<T> maxItemCount(int maxItemCount)
Configure the max number of items to be read.- Parameters:
maxItemCount- the max items to be read- Returns:
- The current instance of the builder.
- See Also:
AbstractItemCountingItemStreamItemReader.setMaxItemCount(int)
currentItemCount
public FlatFileItemReaderBuilder<T> currentItemCount(int currentItemCount)
Index for the current item. Used on restarts to indicate where to start from.- Parameters:
currentItemCount- current index- Returns:
- this instance for method chaining
- See Also:
AbstractItemCountingItemStreamItemReader.setCurrentItemCount(int)
addComment
public FlatFileItemReaderBuilder<T> addComment(java.lang.String comment)
Add a string to the list of Strings that indicate commented lines. Defaults toFlatFileItemReader.DEFAULT_COMMENT_PREFIXES.- Parameters:
comment- the string to define a commented line.- Returns:
- The current instance of the builder.
- See Also:
FlatFileItemReader.setComments(String[])
comments
public FlatFileItemReaderBuilder<T> comments(java.lang.String... comments)
Set an array of Strings that indicate lines that are comments (and therefore skipped by the reader). This method overrides the default comment prefixes which areFlatFileItemReader.DEFAULT_COMMENT_PREFIXES.- Parameters:
comments- an array of strings to identify comments.- Returns:
- The current instance of the builder.
- See Also:
FlatFileItemReader.setComments(String[])
recordSeparatorPolicy
public FlatFileItemReaderBuilder<T> recordSeparatorPolicy(RecordSeparatorPolicy policy)
Configure a customRecordSeparatorPolicyfor the reader.- Parameters:
policy- custom policy- Returns:
- The current instance of the builder.
- See Also:
FlatFileItemReader.setRecordSeparatorPolicy(RecordSeparatorPolicy)
resource
public FlatFileItemReaderBuilder<T> resource(org.springframework.core.io.Resource resource)
TheResourceto be used as input.- Parameters:
resource- the input to the reader.- Returns:
- The current instance of the builder.
- See Also:
FlatFileItemReader.setResource(Resource)
strict
public FlatFileItemReaderBuilder<T> strict(boolean strict)
Configure if the reader should be in strict mode (require the inputResourceto exist).- Parameters:
strict- true if the input file is required to exist.- Returns:
- The current instance of the builder.
- See Also:
FlatFileItemReader.setStrict(boolean)
encoding
public FlatFileItemReaderBuilder<T> encoding(java.lang.String encoding)
Configure the encoding used by the reader to read the input source. Default value isFlatFileItemReader.DEFAULT_CHARSET.- Parameters:
encoding- to use to read the input source.- Returns:
- The current instance of the builder.
- See Also:
FlatFileItemReader.setEncoding(String)
linesToSkip
public FlatFileItemReaderBuilder<T> linesToSkip(int linesToSkip)
The number of lines to skip at the beginning of reading the file.- Parameters:
linesToSkip- number of lines to be skipped.- Returns:
- The current instance of the builder.
- See Also:
FlatFileItemReader.setLinesToSkip(int)
skippedLinesCallback
public FlatFileItemReaderBuilder<T> skippedLinesCallback(LineCallbackHandler callback)
A callback to be called for each line that is skipped.- Parameters:
callback- the callback- Returns:
- The current instance of the builder.
- See Also:
FlatFileItemReader.setSkippedLinesCallback(LineCallbackHandler)
lineMapper
public FlatFileItemReaderBuilder<T> lineMapper(LineMapper<T> lineMapper)
ALineMapperimplementation to be used.- Parameters:
lineMapper-LineMapper- Returns:
- The current instance of the builder.
- See Also:
FlatFileItemReader.setLineMapper(LineMapper)
fieldSetMapper
public FlatFileItemReaderBuilder<T> fieldSetMapper(FieldSetMapper<T> mapper)
AFieldSetMapperimplementation to be used.- Parameters:
mapper- aFieldSetMapper- Returns:
- The current instance of the builder.
- See Also:
DefaultLineMapper.setFieldSetMapper(FieldSetMapper)
lineTokenizer
public FlatFileItemReaderBuilder<T> lineTokenizer(LineTokenizer tokenizer)
ALineTokenizerimplementation to be used.- Parameters:
tokenizer- aLineTokenizer- Returns:
- The current instance of the builder.
- See Also:
DefaultLineMapper.setLineTokenizer(LineTokenizer)
delimited
public FlatFileItemReaderBuilder.DelimitedBuilder<T> delimited()
Returns an instance of aFlatFileItemReaderBuilder.DelimitedBuilderfor building aDelimitedLineTokenizer. TheDelimitedLineTokenizerconfigured by this builder will only be used if one is not explicitly configured vialineTokenizer
fixedLength
public FlatFileItemReaderBuilder.FixedLengthBuilder<T> fixedLength()
Returns an instance of aFlatFileItemReaderBuilder.FixedLengthBuilderfor building aFixedLengthTokenizer. TheFixedLengthTokenizerconfigured by this builder will only be used if thelineTokenizerhas not been configured.
targetType
public FlatFileItemReaderBuilder<T> targetType(java.lang.Class<? extends T> targetType)
The class that will represent the "item" to be returned from the reader. This class is used via theBeanWrapperFieldSetMapper. If more complex logic is required, providing your ownFieldSetMapperviafieldSetMapperis required.- Parameters:
targetType- The class to map to- Returns:
- The current instance of the builder.
- See Also:
BeanWrapperFieldSetMapper.setTargetType(Class)
prototypeBeanName
public FlatFileItemReaderBuilder<T> prototypeBeanName(java.lang.String prototypeBeanName)
Configures the id of a prototype scoped bean to be used as the item returned by the reader.- Parameters:
prototypeBeanName- the name of a prototype scoped bean- Returns:
- The current instance of the builder.
- See Also:
BeanWrapperFieldSetMapper.setPrototypeBeanName(String)
beanFactory
public FlatFileItemReaderBuilder<T> beanFactory(org.springframework.beans.factory.BeanFactory beanFactory)
Configures theBeanFactoryused to create the beans that are returned as items.- Parameters:
beanFactory- aBeanFactory- Returns:
- The current instance of the builder.
- See Also:
BeanWrapperFieldSetMapper.setBeanFactory(BeanFactory)
customEditors
public FlatFileItemReaderBuilder<T> customEditors(java.util.Map<java.lang.Class<?>,java.beans.PropertyEditor> customEditors)
Register custom type converters for beans being mapped.- Parameters:
customEditors- aMapof editors- Returns:
- The current instance of the builder.
- See Also:
BeanWrapperFieldSetMapper.setCustomEditors(Map)
distanceLimit
public FlatFileItemReaderBuilder<T> distanceLimit(int distanceLimit)
Configures the maximum tolerance between the actual spelling of a field's name and the property's name.- Parameters:
distanceLimit- distance limit to set- Returns:
- The current instance of the builder.
- See Also:
BeanWrapperFieldSetMapper.setDistanceLimit(int)
beanMapperStrict
public FlatFileItemReaderBuilder<T> beanMapperStrict(boolean beanMapperStrict)
If set to true, mapping will fail if theFieldSetcontains fields that cannot be mapped to the bean.- Parameters:
beanMapperStrict- defaults to false- Returns:
- The current instance of the builder.
- See Also:
BeanWrapperFieldSetMapper.setStrict(boolean)
build
public FlatFileItemReader<T> build()
Builds theFlatFileItemReader.- Returns:
- a
FlatFileItemReader