Class StreamWrapper

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

    public final class StreamWrapper
    extends java.lang.Object
    implements java.io.Closeable
    Wrapper around a length-limited InputStream.
    • Field Detail

      • MAX_MEMORY_BUFFER_BYTES

        private static final int MAX_MEMORY_BUFFER_BYTES
        See Also:
        Constant Field Values
      • TEMP_FILE_PREFIX

        private static final java.lang.String TEMP_FILE_PREFIX
        See Also:
        Constant Field Values
      • stream

        private final java.io.InputStream stream
      • leakHandle

        private final java.lang.Object leakHandle
      • rawData

        private final byte[] rawData
      • offset

        private final int offset
      • length

        private final int length
    • Constructor Detail

      • StreamWrapper

        public StreamWrapper​(byte[] data,
                             int offset,
                             int length)
      • StreamWrapper

        public StreamWrapper​(java.io.InputStream stream,
                             int length)
    • Method Detail

      • getStream

        public java.io.InputStream getStream()
                                      throws java.io.IOException
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        Specified by:
        close in interface java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        java.io.IOException
      • getLength

        public int getLength()
      • getOffset

        public int getOffset()
      • getBytes

        public byte[] getBytes()
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • copyStream

        private static int copyStream​(java.io.InputStream inputStream,
                                      java.io.OutputStream outputStream,
                                      int limit)
                               throws java.io.IOException
        Throws:
        java.io.IOException