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 and Description
    `Builder()` Constructs a builder of `UnsynchronizedByteArrayInputStream`.

  - ### Method Summary

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

    - #### Builder

          public Builder()

      Constructs a builder of `UnsynchronizedByteArrayInputStream`.

  - ### Method Detail

    - #### get

          public UnsynchronizedByteArrayInputStream get()
                                                 throws IOException

      Builds a new `UnsynchronizedByteArrayInputStream`.

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

      This builder uses 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 converting to an `byte[]` using `AbstractOrigin.getByteArray()`.
      See Also:
        `AbstractOrigin.getByteArray()`, `IOSupplier.getUnchecked()`

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