Package org.apache.commons.io.output

# Class DeferredFileOutputStream.Builder

java.lang.Object
org.apache.commons.io.build.AbstractSupplier<T,B>
org.apache.commons.io.build.AbstractOriginSupplier<T,B>
org.apache.commons.io.build.AbstractStreamBuilder<DeferredFileOutputStream,DeferredFileOutputStream.Builder>
org.apache.commons.io.output.DeferredFileOutputStream.Builder

All Implemented Interfaces:
  `IOSupplier<DeferredFileOutputStream>`

Enclosing class:
  DeferredFileOutputStream

public static class DeferredFileOutputStream.Builder extends AbstractStreamBuilder<DeferredFileOutputStream,DeferredFileOutputStream.Builder>
Builds a new `DeferredFileOutputStream`.

For example:

     DeferredFileOutputStream s = DeferredFileOutputStream.builder()
       .setBufferSize(4096)
       .setDirectory(dir)
       .setOutputFile(outputFile)
       .setPrefix(prefix)
       .setSuffix(suffix)
       .setThreshold(threshold)
       .get();

The only super's aspect used is buffer size.

Since:
  2.12.0
See Also:
  - `get()`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Builder()`
  Constructs a new builder.

- ## Method Summary

  Modifier and Type
  Method
  Description
  `DeferredFileOutputStream`
  `get()`
  Builds a new `DeferredFileOutputStream`.
  `DeferredFileOutputStream.Builder`
  `setDirectory(File directory)`
  Sets the temporary file directory.
  `DeferredFileOutputStream.Builder`
  `setDirectory(Path directory)`
  Sets the temporary file directory.
  `DeferredFileOutputStream.Builder`
  `setOutputFile(File outputFile)`
  Sets the file to which data is saved beyond the threshold.
  `DeferredFileOutputStream.Builder`
  `setOutputFile(Path outputFile)`
  Sets the file to which data is saved beyond the threshold.
  `DeferredFileOutputStream.Builder`
  `setPrefix(String prefix)`
  Sets the prefix to use for the temporary file.
  `DeferredFileOutputStream.Builder`
  `setSuffix(String suffix)`
  Sets the suffix to use for the temporary file.
  `DeferredFileOutputStream.Builder`
  `setThreshold(int threshold)`
  Sets the number of bytes at which to trigger an event.

  ### Methods inherited from class org.apache.commons.io.build.AbstractStreamBuilder

  `getBufferSize, getBufferSizeDefault, getCharSequence, getCharset, getCharsetDefault, getFile, getInputStream, getOpenOptions, getOutputStream, getPath, getRandomAccessFile, getReader, getWriter, setBufferSize, setBufferSize, setBufferSizeChecker, setBufferSizeDefault, setBufferSizeMax, setCharset, setCharset, setCharsetDefault, setOpenOptions`

  ### Methods inherited from class org.apache.commons.io.build.AbstractOriginSupplier

  `checkOrigin, getOrigin, hasOrigin, newByteArrayOrigin, newCharSequenceOrigin, newFileOrigin, newFileOrigin, newInputStreamOrigin, newOutputStreamOrigin, newPathOrigin, newPathOrigin, newRandomAccessFileOrigin, newRandomAccessFileOrigin, newReaderOrigin, newURIOrigin, newWriterOrigin, setByteArray, setCharSequence, setFile, setFile, setInputStream, setOrigin, setOutputStream, setPath, setPath, setRandomAccessFile, setRandomAccessFile, setReader, setURI, setWriter`

  ### Methods inherited from class org.apache.commons.io.build.AbstractSupplier

  `asThis`

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

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

  ### Methods inherited from interface org.apache.commons.io.function.IOSupplier

  `asSupplier, getUnchecked`

- ## Constructor Details

  - ### Builder

    public Builder()
    Constructs a new builder.

- ## Method Details

  - ### get

    public DeferredFileOutputStream get()
    Builds a new `DeferredFileOutputStream`.

    This builder use the following aspects:

    - `AbstractStreamBuilder.getBufferSize()`
    - threshold
    - outputFile
    - prefix
    - suffix
    - directory
    Returns:
      a new instance.

  - ### setDirectory

    public DeferredFileOutputStream.Builder setDirectory(File directory)
    Sets the temporary file directory.
    Parameters:
      `directory` - Temporary file directory.
    Returns:
      `this` instance.

  - ### setDirectory

    public DeferredFileOutputStream.Builder setDirectory(Path directory)
    Sets the temporary file directory.
    Parameters:
      `directory` - Temporary file directory.
    Returns:
      `this` instance.
    Since:
      2.14.0

  - ### setOutputFile

    public DeferredFileOutputStream.Builder setOutputFile(File outputFile)
    Sets the file to which data is saved beyond the threshold.
    Parameters:
      `outputFile` - The file to which data is saved beyond the threshold.
    Returns:
      `this` instance.

  - ### setOutputFile

    public DeferredFileOutputStream.Builder setOutputFile(Path outputFile)
    Sets the file to which data is saved beyond the threshold.
    Parameters:
      `outputFile` - The file to which data is saved beyond the threshold.
    Returns:
      `this` instance.
    Since:
      2.14.0

  - ### setPrefix

    public DeferredFileOutputStream.Builder setPrefix(String prefix)
    Sets the prefix to use for the temporary file.
    Parameters:
      `prefix` - Prefix to use for the temporary file.
    Returns:
      `this` instance.

  - ### setSuffix

    public DeferredFileOutputStream.Builder setSuffix(String suffix)
    Sets the suffix to use for the temporary file.
    Parameters:
      `suffix` - Suffix to use for the temporary file.
    Returns:
      `this` instance.

  - ### setThreshold

    public DeferredFileOutputStream.Builder setThreshold(int threshold)
    Sets the number of bytes at which to trigger an event.
    Parameters:
      `threshold` - The number of bytes at which to trigger an event.
    Returns:
      `this` instance.