Package org.springframework.batch.item.file

# Class FlatFileItemWriter<T>

java.lang.Object
org.springframework.batch.item.ItemStreamSupport
org.springframework.batch.item.support.AbstractItemStreamItemWriter<T>
org.springframework.batch.item.support.AbstractFileItemWriter<T>
org.springframework.batch.item.file.FlatFileItemWriter<T>

All Implemented Interfaces:
  `ResourceAwareItemWriterItemStream<T>`, `ItemStream`, `ItemStreamWriter<T>`, `ItemWriter<T>`, `org.springframework.beans.factory.InitializingBean`

public class FlatFileItemWriter<T> extends AbstractFileItemWriter<T>
This class is an item writer that writes data to a file or stream. The writer also provides restart. The location of the output file is defined by a `Resource` and must represent a writable file.
Uses buffered writer to improve performance.
The implementation is not thread-safe.

Author:
  Waseem Malik, Tomas Slanina, Robert Kasanicky, Dave Syer, Michael Minella, Mahmoud Ben Hassine

- ## Nested Class Summary

  ## Nested classes/interfaces inherited from class org.springframework.batch.item.support.AbstractFileItemWriter

  `AbstractFileItemWriter.OutputState`

- ## Field Summary

  Fields
  Modifier and Type
  Field
  Description
  `protected LineAggregator<T>`
  `lineAggregator`

  ### Fields inherited from class org.springframework.batch.item.support.AbstractFileItemWriter

  `append, DEFAULT_CHARSET, DEFAULT_LINE_SEPARATOR, DEFAULT_TRANSACTIONAL, lineSeparator, logger, shouldDeleteIfExists, state`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `FlatFileItemWriter()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `afterPropertiesSet()`
  Assert that mandatory properties (lineAggregator) are set.
  `String`
  `doWrite(List<? extends T> items)`
  Write out a string of items followed by a "new line", where the format of the new line separator is determined by the underlying operating system.
  `void`
  `setLineAggregator(LineAggregator<T> lineAggregator)`
  Public setter for the `LineAggregator`.

  ### Methods inherited from class org.springframework.batch.item.support.AbstractFileItemWriter

  `close, getOutputState, open, setAppendAllowed, setEncoding, setFooterCallback, setForceSync, setHeaderCallback, setLineSeparator, setResource, setSaveState, setShouldDeleteIfEmpty, setShouldDeleteIfExists, setTransactional, update, write`

  ### Methods inherited from class org.springframework.batch.item.ItemStreamSupport

  `getExecutionContextKey, setExecutionContextName, setName`

  ### Methods inherited from class java.lang.Object

  `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- ## Field Details

  - ### lineAggregator

    protected LineAggregator<T> lineAggregator

- ## Constructor Details

  - ### FlatFileItemWriter

    public FlatFileItemWriter()

- ## Method Details

  - ### afterPropertiesSet

    public void afterPropertiesSet() throws Exception
    Assert that mandatory properties (lineAggregator) are set.
    Throws:
      `Exception`
    See Also:
      - `InitializingBean.afterPropertiesSet()`

  - ### setLineAggregator

    public void setLineAggregator(LineAggregator<T> lineAggregator)
    Public setter for the `LineAggregator`. This will be used to translate the item into a line for output.
    Parameters:
      `lineAggregator` - the `LineAggregator` to set

  - ### doWrite

    public String doWrite(List<? extends T> items)
    Description copied from class: `AbstractFileItemWriter`
    Write out a string of items followed by a "new line", where the format of the new line separator is determined by the underlying operating system.
    Specified by:
      `doWrite` in class `AbstractFileItemWriter<T>`
    Parameters:
      `items` - to be written
    Returns:
      written lines