Package org.apache.commons.io.input

# Class UnsynchronizedByteArrayInputStream.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<UnsynchronizedByteArrayInputStream,UnsynchronizedByteArrayInputStream.Builder>
org.apache.commons.io.input.UnsynchronizedByteArrayInputStream.Builder

All Implemented Interfaces:
  `IOSupplier<UnsynchronizedByteArrayInputStream>`

Enclosing class:
  UnsynchronizedByteArrayInputStream

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

Using a Byte Array:

     UnsynchronizedByteArrayInputStream s = UnsynchronizedByteArrayInputStream.builder()
       .setByteArray(byteArray)
       .setOffset(0)
       .setLength(byteArray.length)
       .get();

Using File IO:

     UnsynchronizedByteArrayInputStream s = UnsynchronizedByteArrayInputStream.builder()
       .setFile(file)
       .setOffset(0)
       .setLength(byteArray.length)
       .get();

Using NIO Path:

     UnsynchronizedByteArrayInputStream s = UnsynchronizedByteArrayInputStream.builder()
       .setPath(path)
       .setOffset(0)
       .setLength(byteArray.length)
       .get();

See Also:
  - `get()`

- ## Constructor Summary

  Constructors
  Constructor
  Description
  `Builder()`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `UnsynchronizedByteArrayInputStream`
  `get()`
  Builds a new `UnsynchronizedByteArrayInputStream`.
  `UnsynchronizedByteArrayInputStream.Builder`
  `setByteArray(byte[] origin)`
  Sets a new origin.
  `UnsynchronizedByteArrayInputStream.Builder`
  `setLength(int length)`
  Sets the length.
  `UnsynchronizedByteArrayInputStream.Builder`
  `setOffset(int offset)`
  Sets the offset.

  ### 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, 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()

- ## Method Details

  - ### get

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

    You must set input that supports `byte[]` on this builder, otherwise, this method throws an exception.

    This builder use the following aspects:

    - `byte[]`
    - offset
    - length
    Returns:
      a new instance.
    Throws:
      `UnsupportedOperationException` - if the origin cannot provide a byte[].
      `IllegalStateException` - if the `origin` is `null`.
      `IOException` - if an I/O error occurs.
    See Also:
      - `AbstractOrigin.getByteArray()`

  - ### setByteArray

    public UnsynchronizedByteArrayInputStream.Builder setByteArray(byte[] origin)
    Description copied from class: `AbstractOriginSupplier`
    Sets a new origin.
    Overrides:
      `setByteArray` in class `AbstractOriginSupplier<UnsynchronizedByteArrayInputStream,UnsynchronizedByteArrayInputStream.Builder>`
    Parameters:
      `origin` - the new origin.
    Returns:
      `this` instance.

  - ### setLength

    public UnsynchronizedByteArrayInputStream.Builder setLength(int length)
    Sets the length.
    Parameters:
      `length` - Must be greater or equal to 0.
    Returns:
      `this` instance.

  - ### setOffset

    public UnsynchronizedByteArrayInputStream.Builder setOffset(int offset)
    Sets the offset.
    Parameters:
      `offset` - Must be greater or equal to 0.
    Returns:
      `this` instance.