Package org.apache.commons.io.input

# Class RandomAccessFileInputStream.Builder

java.lang.Object
org.apache.commons.io.build.AbstractSupplier<RandomAccessFileInputStream,RandomAccessFileInputStream.Builder>
org.apache.commons.io.build.AbstractOriginSupplier<RandomAccessFileInputStream,RandomAccessFileInputStream.Builder>
org.apache.commons.io.build.AbstractStreamBuilder<RandomAccessFileInputStream,RandomAccessFileInputStream.Builder>
org.apache.commons.io.input.RandomAccessFileInputStream.Builder

All Implemented Interfaces:
  `IOSupplier<RandomAccessFileInputStream>`

Enclosing class:
  `RandomAccessFileInputStream`

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

For example:

     RandomAccessFileInputStream s = RandomAccessFileInputStream.builder()
       .setPath(path)
       .setCloseOnClose(true)
       .get();

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

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  Description
  `RandomAccessFileInputStream`
  `get()`
  Builds a new `RandomAccessFileInputStream`.
  `RandomAccessFileInputStream.Builder`
  `setCloseOnClose(boolean propagateClose)`
  Sets whether to close the underlying file when this stream is closed, defaults to false for compatibility.
  `RandomAccessFileInputStream.Builder`
  `setRandomAccessFile(RandomAccessFile randomAccessFile)`
  Sets the RandomAccessFile to stream.

  ### 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, 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 of `RandomAccessFileInputStream`.

- ## Method Details

  - ### get

    public RandomAccessFileInputStream get() throws IOException
    Builds a new `RandomAccessFileInputStream`.

    You must set an aspect that supports `RandomAccessFile` or `File`, otherwise, this method throws an exception. Only set one of RandomAccessFile or an origin that can be converted to a File.

    This builder uses the following aspects:

    - `RandomAccessFile` gets the target aspect.
    - `File`
    - closeOnClose
    Returns:
      a new instance.
    Throws:
      `IllegalStateException` - if the `origin` is `null`.
      `IllegalStateException` - if both RandomAccessFile and origin are set.
      `UnsupportedOperationException` - if the origin cannot be converted to a `RandomAccessFile`.
      `IOException` - if an I/O error occurs converting to an `RandomAccessFile` using `AbstractStreamBuilder.getRandomAccessFile()`.
    See Also:
      - `AbstractOrigin.getFile()`
      - `IOSupplier.getUnchecked()`

  - ### setCloseOnClose

    public RandomAccessFileInputStream.Builder setCloseOnClose(boolean propagateClose)
    Sets whether to close the underlying file when this stream is closed, defaults to false for compatibility.
    Parameters:
      `propagateClose` - Whether to close the underlying file when this stream is closed.
    Returns:
      `this` instance.

  - ### setRandomAccessFile

    public RandomAccessFileInputStream.Builder setRandomAccessFile(RandomAccessFile randomAccessFile)
    Sets the RandomAccessFile to stream.
    Overrides:
      `setRandomAccessFile` in class `AbstractOriginSupplier<RandomAccessFileInputStream,RandomAccessFileInputStream.Builder>`
    Parameters:
      `randomAccessFile` - the RandomAccessFile to stream.
    Returns:
      `this` instance.