org.apache.commons.io.input

## Class ProxyInputStream.AbstractBuilder<T,B extends AbstractStreamBuilder<T,B>>

- 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<T,B>
      - - org.apache.commons.io.input.ProxyInputStream.AbstractBuilder<T,B>

- Type Parameters:
    `T` - The InputStream type.
    `B` - The builder type.
  All Implemented Interfaces:
    IOSupplier<T>
  Direct Known Subclasses:
    AutoCloseInputStream.Builder, BOMInputStream.Builder, BoundedInputStream.AbstractBuilder, ChecksumInputStream.Builder, ObservableInputStream.AbstractBuilder, ThrottledInputStream.Builder
  Enclosing class:
    ProxyInputStream

      protected abstract static class ProxyInputStream.AbstractBuilder<T,B extends AbstractStreamBuilder<T,B>>
      extends AbstractStreamBuilder<T,B>

  Abstracts builder properties for subclasses.

- - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AbstractBuilder()` Constructs a builder of `T`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `IOIntConsumer` | `getAfterRead()` Gets the `ProxyInputStream.afterRead(int)` consumer.
    `B` | `setAfterRead(IOIntConsumer afterRead)` Sets the `ProxyInputStream.afterRead(int)` behavior, null resets to a NOOP.

    - ### 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, get, getUnchecked`

- - ### Constructor Detail

    - #### AbstractBuilder

          protected AbstractBuilder()

      Constructs a builder of `T`.

  - ### Method Detail

    - #### getAfterRead

          public IOIntConsumer getAfterRead()

      Gets the `ProxyInputStream.afterRead(int)` consumer.
      Returns:
        the `ProxyInputStream.afterRead(int)` consumer.

    - #### setAfterRead

          public B setAfterRead(IOIntConsumer afterRead)

      Sets the `ProxyInputStream.afterRead(int)` behavior, null resets to a NOOP.

      Setting this value causes the `afterRead` method to delegate to the given consumer.

      If a subclass overrides `afterRead` and does not call `super.afterRead(int)`, then the given consumer is not called.

      This does not override a `ProxyInputStream` subclass' implementation of the `ProxyInputStream.afterRead(int)` method, it can supplement it.

      Parameters:
        `afterRead` - the `ProxyInputStream.afterRead(int)` behavior.
      Returns:
        this instance.