org.shiftone.jrat.inject.process
Class OpenInputStream
java.lang.Object
java.io.InputStream
org.shiftone.jrat.inject.process.OpenInputStream
- All Implemented Interfaces:
- java.io.Closeable
public class OpenInputStream
- extends java.io.InputStream
Class OpenInputStream wrapps/proxies to a real InputStream and prevents the
caller from closing the underlying input stream. This is useful when reading
chunks from a ZipInputStream passing the archive entry inputStreams to code
that calls close(). This would typically close the entire ZipInputStream,
which would prevent any other archive entries from being read.
- Author:
- jeff@shiftone.org (Jeff Drost)
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
OpenInputStream
public OpenInputStream(java.io.InputStream inputStream)
assertOpen
public void assertOpen()
throws java.io.IOException
- Throws:
java.io.IOException
available
public int available()
throws java.io.IOException
- Overrides:
available
in class java.io.InputStream
- Throws:
java.io.IOException
close
public void close()
throws java.io.IOException
- Method close does not call close() on the underlying input stream. It
set's a flag that is used assertions in the read methods of this class.
- Specified by:
close
in interface java.io.Closeable
- Overrides:
close
in class java.io.InputStream
- Throws:
java.io.IOException
mark
public void mark(int readlimit)
- Overrides:
mark
in class java.io.InputStream
markSupported
public boolean markSupported()
- Overrides:
markSupported
in class java.io.InputStream
read
public int read()
throws java.io.IOException
- Specified by:
read
in class java.io.InputStream
- Throws:
java.io.IOException
read
public int read(byte[] b)
throws java.io.IOException
- Overrides:
read
in class java.io.InputStream
- Throws:
java.io.IOException
read
public int read(byte[] b,
int off,
int len)
throws java.io.IOException
- Overrides:
read
in class java.io.InputStream
- Throws:
java.io.IOException
reset
public void reset()
throws java.io.IOException
- Overrides:
reset
in class java.io.InputStream
- Throws:
java.io.IOException
skip
public long skip(long n)
throws java.io.IOException
- Overrides:
skip
in class java.io.InputStream
- Throws:
java.io.IOException