Package 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.Builder`, `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.

Since:
  2.18.0

- ## Constructor Summary

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

- ## Method Summary

  Modifier and Type
  Method
  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 Details

  - ### AbstractBuilder

    protected AbstractBuilder()
    Constructs a builder of `T`.

- ## Method Details

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