Class MarkShieldInputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.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 it is not desirable to allow marking of the stream.

    Since:
    2.8.0
    • Constructor Summary

      Constructors 
      Constructor Description
      MarkShieldInputStream​(java.io.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 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 java.io.InputStream

        nullInputStream, readAllBytes, readNBytes, readNBytes, transferTo
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • MarkShieldInputStream

        public MarkShieldInputStream​(java.io.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 java.io.IOException
        Description copied from class: ProxyInputStream
        Invokes the delegate's reset() method.
        Overrides:
        reset in class ProxyInputStream
        Throws:
        java.io.IOException - if an I/O error occurs.