org.apache.commons.io.input

## Class MarkShieldInputStream

- java.lang.Object
- - java.io.InputStream
  - - java.io.FilterInputStream
    - - org.apache.commons.io.input.ProxyInputStream
      - - org.apache.commons.io.input.MarkShieldInputStream

- All Implemented Interfaces:
    Closeable, AutoCloseable

      public class MarkShieldInputStream
      extends ProxyInputStream

  This is an alternative to `ByteArrayInputStream` which removes the synchronization overhead for non-concurrent access; as such this class is not thread-safe. Proxy stream that prevents the underlying input stream from being marked/reset.

  This class is typically used in cases where an input stream that supports marking needs to be passed to a component that wants to explicitly mark the stream, but it is not desirable to allow marking of the stream.

  Since:
    2.8.0

- - ### Field Summary

    - ### Fields inherited from class java.io.FilterInputStream

      `in`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `MarkShieldInputStream(InputStream in)` Creates a proxy that shields the given input stream from being marked or rest.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `mark(int readlimit)` Invokes the delegate's `mark(int)` method.
    `boolean` | `markSupported()` Invokes the delegate's `markSupported()` method.
    `void` | `reset()` Invokes the delegate's `reset()` method.

    - ### Methods inherited from class org.apache.commons.io.input.ProxyInputStream

      `afterRead, available, beforeRead, close, handleIOException, read, read, read, skip`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### MarkShieldInputStream

          public MarkShieldInputStream(InputStream in)

      Creates a proxy that shields the given input stream from being marked or rest.
      Parameters:
        `in` - underlying input stream

  - ### Method Detail

    - #### mark

          public void mark(int readlimit)

      Description copied from class: `ProxyInputStream`
      Invokes the delegate's `mark(int)` method.
      Overrides:
        `mark` in class `ProxyInputStream`
      Parameters:
        `readlimit` - read ahead limit

    - #### markSupported

          public boolean markSupported()

      Description copied from class: `ProxyInputStream`
      Invokes the delegate's `markSupported()` method.
      Overrides:
        `markSupported` in class `ProxyInputStream`
      Returns:
        true if mark is supported, otherwise false

    - #### reset

          public void reset()
                     throws IOException

      Description copied from class: `ProxyInputStream`
      Invokes the delegate's `reset()` method.
      Overrides:
        `reset` in class `ProxyInputStream`
      Throws:
        `IOException` - if an I/O error occurs.

Copyright © 2002–2023 The Apache Software Foundation. All rights reserved.