Class BrokenInputStream

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    public class BrokenInputStream
    extends java.io.InputStream
    Always throws an exception from all InputStream methods where IOException is declared.

    This class is mostly useful for testing error handling.

    Since:
    2.0
    • Field Summary

      Fields 
      Modifier and Type Field Description
      static BrokenInputStream INSTANCE
      The singleton instance using a default IOException.
    • Constructor Summary

      Constructors 
      Constructor Description
      BrokenInputStream()
      Constructs a new stream that always throws an IOException.
      BrokenInputStream​(java.io.IOException exception)
      BrokenInputStream​(java.lang.Throwable exception)
      Constructs a new stream that always throws the given exception.
      BrokenInputStream​(java.util.function.Supplier<java.lang.Throwable> exceptionSupplier)
      Constructs a new stream that always throws the supplied exception.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      int available()
      Throws the configured exception.
      void close()
      Throws the configured exception.
      int read()
      Throws the configured exception.
      void reset()
      Throws the configured exception.
      long skip​(long n)
      Throws the configured exception.
      • Methods inherited from class java.io.InputStream

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

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

      • INSTANCE

        public static final BrokenInputStream INSTANCE
        The singleton instance using a default IOException.
        Since:
        2.12.0
    • Constructor Detail

      • BrokenInputStream

        public BrokenInputStream()
        Constructs a new stream that always throws an IOException.
      • BrokenInputStream

        @Deprecated
        public BrokenInputStream​(java.io.IOException exception)
        Constructs a new stream that always throws the given exception.
        Parameters:
        exception - the exception to be thrown.
      • BrokenInputStream

        public BrokenInputStream​(java.util.function.Supplier<java.lang.Throwable> exceptionSupplier)
        Constructs a new stream that always throws the supplied exception.
        Parameters:
        exceptionSupplier - a supplier for the IOException or RuntimeException to be thrown.
        Since:
        2.12.0
      • BrokenInputStream

        public BrokenInputStream​(java.lang.Throwable exception)
        Constructs a new stream that always throws the given exception.
        Parameters:
        exception - the exception to be thrown.
        Since:
        2.16.0
    • Method Detail

      • available

        public int available()
                      throws java.io.IOException
        Throws the configured exception.
        Overrides:
        available in class java.io.InputStream
        Returns:
        nothing.
        Throws:
        java.io.IOException - always throws the exception configured in a constructor.
      • close

        public void close()
                   throws java.io.IOException
        Throws the configured exception.
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Overrides:
        close in class java.io.InputStream
        Throws:
        java.io.IOException - always throws the exception configured in a constructor.
      • read

        public int read()
                 throws java.io.IOException
        Throws the configured exception.
        Specified by:
        read in class java.io.InputStream
        Returns:
        nothing.
        Throws:
        java.io.IOException - always throws the exception configured in a constructor.
      • reset

        public void reset()
                   throws java.io.IOException
        Throws the configured exception.
        Overrides:
        reset in class java.io.InputStream
        Throws:
        java.io.IOException - always throws the exception configured in a constructor.
      • skip

        public long skip​(long n)
                  throws java.io.IOException
        Throws the configured exception.
        Overrides:
        skip in class java.io.InputStream
        Parameters:
        n - ignored.
        Returns:
        nothing.
        Throws:
        java.io.IOException - always throws the exception configured in a constructor.