# Class DiskFileItemFactory.Builder

java.lang.Object
org.apache.commons.io.build.AbstractSupplier<DiskFileItemFactory, DiskFileItemFactory.Builder>
org.apache.commons.io.build.AbstractOriginSupplier<DiskFileItemFactory, DiskFileItemFactory.Builder>
org.apache.commons.io.build.AbstractStreamBuilder<DiskFileItemFactory, DiskFileItemFactory.Builder>
org.apache.commons.fileupload2.core.DiskFileItemFactory.Builder

All Implemented Interfaces:
  `org.apache.commons.io.function.IOSupplier<DiskFileItemFactory>`

Enclosing class:
  `DiskFileItemFactory`

public static class DiskFileItemFactory.Builder extends org.apache.commons.io.build.AbstractStreamBuilder<DiskFileItemFactory, DiskFileItemFactory.Builder>
Builds a new `DiskFileItemFactory` instance.

For example:

    DiskFileItemFactory factory = DiskFileItemFactory.builder().setPath(path).setBufferSize(DEFAULT_THRESHOLD).get();

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`DiskFileItemFactory`
`get()`
Constructs a new instance.
`int`
`getBufferSize()`
Deprecated.
Since 2.0.0, use `getThreshold()` instead.
`int`
`getThreshold()`
Returns the threshold.
`DiskFileItemFactory.Builder`
`setBufferSize(int bufferSize)`
Deprecated.
Since 2.0.0, use `setThreshold(int)` instead.
`DiskFileItemFactory.Builder`
`setFileCleaningTracker(org.apache.commons.io.FileCleaningTracker fileCleaningTracker)`
Sets the tracker, which is responsible for deleting temporary files.
`DiskFileItemFactory.Builder`
`setThreshold(int threshold)`
Sets the threshold.

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

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

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

`checkOrigin, getOrigin, hasOrigin, newByteArrayOrigin, newChannelOrigin, newCharSequenceOrigin, newFileOrigin, newFileOrigin, newInputStreamOrigin, newOutputStreamOrigin, newPathOrigin, newPathOrigin, newRandomAccessFileOrigin, newRandomAccessFileOrigin, newReaderOrigin, newURIOrigin, newWriterOrigin, setByteArray, setChannel, 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 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 instance.

## Method Details

### get

public DiskFileItemFactory get()
Constructs a new instance.

This builder use the aspects Path and buffer size.

You must provide an origin that can be converted to a Reader by this builder, otherwise, this call will throw an `UnsupportedOperationException`.

Returns:
  a new instance.
Throws:
  `UnsupportedOperationException` - if the origin cannot provide a Path.
See Also:
  - `AbstractOrigin.getReader(Charset)`

### getBufferSize

public int getBufferSize()
Deprecated.
Since 2.0.0, use `getThreshold()` instead.
Equivalent to `getThreshold()`.

Overrides:
  `getBufferSize` in class `org.apache.commons.io.build.AbstractStreamBuilder<DiskFileItemFactory, DiskFileItemFactory.Builder>`
Returns:
  The threshold, which is being used.
See Also:
  - `getThreshold()`

### getThreshold

public int getThreshold()
Returns the threshold.

Returns:
  The threshold.

### setBufferSize

public DiskFileItemFactory.Builder setBufferSize(int bufferSize)
Deprecated.
Since 2.0.0, use `setThreshold(int)` instead.
Equivalent to `setThreshold(int)`.

Overrides:
  `setBufferSize` in class `org.apache.commons.io.build.AbstractStreamBuilder<DiskFileItemFactory, DiskFileItemFactory.Builder>`
Parameters:
  `bufferSize` - The threshold, which is being used.
Returns:
  This builder.
See Also:
  - `setThreshold(int)`

### setFileCleaningTracker

public DiskFileItemFactory.Builder setFileCleaningTracker(org.apache.commons.io.FileCleaningTracker fileCleaningTracker)
Sets the tracker, which is responsible for deleting temporary files.

Parameters:
  `fileCleaningTracker` - Callback to track files created, or null (default) to disable tracking.
Returns:
  `this` instance.

### setThreshold

public DiskFileItemFactory.Builder setThreshold(int threshold)
Sets the threshold. The uploaded data is typically kept in memory, until a certain number of bytes (the threshold) is reached. At this point, the incoming data is transferred to a temporary file, and the in-memory data is removed. The threshold will also control the state model of the created instances of `DiskFileItem`. Details on the state model can be found `here`.

Parameters:
  `threshold` - The threshold, which is being used.
Returns:
  This builder.