T - Class type written to the filepublic class BeanIOFlatFileItemWriter<T> extends Object implements ItemStream, ItemWriter<T>, ResourceAwareItemWriterItemStream<T>, InitializingBean
This implementation requires Spring 2.5 or greater, and Spring Batch 2.1.x.
| Constructor and Description | 
|---|
BeanIOFlatFileItemWriter()
Constructs a new BeanIOFlatFileItemWriter. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
afterPropertiesSet()  | 
void | 
close()  | 
protected void | 
initializeStreamFactory()
Creates a  
StreamFactory if one was not set, loads the stream
 mapping resource if set, and validates the StreamFactory has a
 mapping for the configured stream name. | 
void | 
open(ExecutionContext executionContext)  | 
void | 
setAppendAllowed(boolean append)
Flag to indicate that the target file should be appended if it already
 exists. 
 | 
void | 
setEncoding(String encoding)
Sets the output stream encoding. 
 | 
void | 
setHeaderCallback(FlatFileHeaderCallback headerCallback)
The FlatFileHeaderCallback if called before writing the first item to the
 file. 
 | 
void | 
setLineSeparator(String lineSeparator)
Sets the line separator used for the header and footer callback only. 
 | 
void | 
setName(String name)
Sets the name to use for prefixing keys added to the execution context. 
 | 
void | 
setResource(Resource resource)  | 
void | 
setSaveState(boolean saveState)
Set the flag indicating whether or not state should be saved in the
 provided  
ExecutionContext during the ItemStream call to
 update. | 
void | 
setShouldDeleteIfEmpty(boolean shouldDeleteIfEmpty)
Flag to indicate that the target file should be deleted if no lines have
 been written (other than header and footer) on close. 
 | 
void | 
setShouldDeleteIfExists(boolean shouldDeleteIfExists)
Flag to indicate that the target file should be deleted if it already
 exists, otherwise it will be created. 
 | 
void | 
setStreamFactory(StreamFactory streamFactory)
Sets the  
StreamFactory for loading stream mapping configurations. | 
void | 
setStreamMapping(Resource streamMapping)
Sets the mapping file resource. 
 | 
void | 
setStreamName(String streamName)
Sets the mapping configuration's stream name for writing this output
 stream. 
 | 
void | 
setTransactional(boolean transactional)
Flag to indicate that writing to the buffer should be delayed if a
 transaction is active. 
 | 
void | 
update(ExecutionContext executionContext)  | 
void | 
write(List<? extends T> items)  | 
public BeanIOFlatFileItemWriter()
public void afterPropertiesSet()
                        throws Exception
afterPropertiesSet in interface InitializingBeanExceptionpublic void open(ExecutionContext executionContext) throws ItemStreamException
open in interface ItemStreamItemStreamExceptionpublic void update(ExecutionContext executionContext) throws ItemStreamException
update in interface ItemStreamItemStreamExceptionpublic void close()
           throws ItemStreamException
close in interface ItemStreamItemStreamExceptionpublic void write(List<? extends T> items) throws Exception
write in interface ItemWriter<T>Exceptionpublic void setStreamFactory(StreamFactory streamFactory)
StreamFactory for loading stream mapping configurations.  If not set,
 a new default StreamFactory is created.streamFactory - the StreamFactory to use for loading stream
   mapping configurationspublic void setStreamMapping(Resource streamMapping)
streamMapping - the stream mapping resourcepublic void setStreamName(String streamName)
streamName - the stream namepublic void setResource(Resource resource)
setResource in interface ResourceAwareItemWriterItemStream<T>public void setEncoding(String encoding)
encoding - output stream encodingprotected void initializeStreamFactory()
                                throws Exception
StreamFactory if one was not set, loads the stream
 mapping resource if set, and validates the StreamFactory has a
 mapping for the configured stream name.IllegalStateException - if the configured stream name is not found
   in the StreamFactory after loading the stream mappingExceptionpublic void setAppendAllowed(boolean append)
shouldDeleteIfExists is
 automatically set to false, so that flag should not be set explicitly.
 Defaults to false.append - the flag value to setpublic void setShouldDeleteIfExists(boolean shouldDeleteIfExists)
appendAllowed is also false then there will be an exception when the
 stream is opened to prevent existing data being potentially corrupted.shouldDeleteIfExists - the flag value to setpublic void setShouldDeleteIfEmpty(boolean shouldDeleteIfEmpty)
shouldDeleteIfEmpty - the flag value to setpublic void setSaveState(boolean saveState)
ExecutionContext during the ItemStream call to
 update. Setting this to false means that it will always start at the
 beginning on a restart.saveState - public void setTransactional(boolean transactional)
transactional - set to false to disable buffering
   writes for transactionspublic void setName(String name)
name - context key prefixpublic void setLineSeparator(String lineSeparator)
lineSeparator - the line separator to setpublic void setHeaderCallback(FlatFileHeaderCallback headerCallback)
headerCallback - the FlatFileHeaderCallback to invoke when writing
   to a new file