Class AggregateItemFieldSetMapper<T>
- java.lang.Object
- org.springframework.batch.sample.domain.multiline.AggregateItemFieldSetMapper<T>
- All Implemented Interfaces:
FieldSetMapper<AggregateItem<T>>
,org.springframework.beans.factory.InitializingBean
public class AggregateItemFieldSetMapper<T> extends java.lang.Object implements FieldSetMapper<AggregateItem<T>>, org.springframework.beans.factory.InitializingBean
Delegating mapper to convert form a vanillaFieldSetMapper
to one that returnsAggregateItem
instances for consumption by theAggregateItemReader
.- Author:
- Dave Syer
Constructor Summary
Constructors Constructor Description AggregateItemFieldSetMapper()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
afterPropertiesSet()
Check mandatory properties (delegate).AggregateItem<T>
mapFieldSet(FieldSet fieldSet)
Build anAggregateItem
based on matching the first column in the inputFieldSet
to check for begin and end delimiters.void
setBegin(java.lang.String begin)
Public setter for the begin value.void
setDelegate(FieldSetMapper<T> delegate)
Public setter for the delegate.void
setEnd(java.lang.String end)
Public setter for the end field value.
Method Detail
setDelegate
public void setDelegate(FieldSetMapper<T> delegate)
Public setter for the delegate.- Parameters:
delegate
- the delegate to set
setEnd
public void setEnd(java.lang.String end)
Public setter for the end field value. If theFieldSet
input has a first field with this value that signals the start of an aggregate record.- Parameters:
end
- the end to set
setBegin
public void setBegin(java.lang.String begin)
Public setter for the begin value. If theFieldSet
input has a first field with this value that signals the end of an aggregate record.- Parameters:
begin
- the begin to set
afterPropertiesSet
public void afterPropertiesSet() throws java.lang.Exception
Check mandatory properties (delegate).- Specified by:
afterPropertiesSet
in interfaceorg.springframework.beans.factory.InitializingBean
- Throws:
java.lang.Exception
- See Also:
InitializingBean.afterPropertiesSet()
mapFieldSet
public AggregateItem<T> mapFieldSet(FieldSet fieldSet) throws org.springframework.validation.BindException
Build anAggregateItem
based on matching the first column in the inputFieldSet
to check for begin and end delimiters. If the current record is neither a begin nor an end marker then it is mapped using the delegate.- Specified by:
mapFieldSet
in interfaceFieldSetMapper<T>
- Parameters:
fieldSet
- aFieldSet
to map- Returns:
- an
AggregateItem
that wraps the return value from the delegate - Throws:
org.springframework.validation.BindException
- if one of the delegates does