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.

  See Also:
    `get()`

- - ### Constructor Summary

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

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and 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 Detail

    - #### Builder

          public Builder()

      Constructs a new builder of `DeferredFileOutputStream`.

  - ### Method Detail

    - #### get

          public DeferredFileOutputStream get()

      Builds a new `DeferredFileOutputStream`.

      This builder uses the following aspects:

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

    - #### 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.

    - #### 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.

    - #### 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.