org.apache.aries.util.io
Class RememberingInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by org.apache.aries.util.io.RememberingInputStream
All Implemented Interfaces:
Closeable

public class RememberingInputStream
extends InputStream

This class can be used to buffer an arbitrary amount of content from an input stream and be able to reset to the start.


Constructor Summary
RememberingInputStream(InputStream in)
           
 
Method Summary
 int available()
           
 void close()
          Noop.
 void closeUnderlying()
          Actually closes the underlying InputStream.
 void mark(int readlimit)
           
 boolean markSupported()
           
 int read()
           
 int read(byte[] b)
           
 int read(byte[] b, int off, int len)
           
 void reset()
           
 long skip(long n)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RememberingInputStream

public RememberingInputStream(InputStream in)
                       throws IOException
Throws:
IOException
Method Detail

read

public int read()
         throws IOException
Specified by:
read in class InputStream
Throws:
IOException

read

public int read(byte[] b)
         throws IOException
Overrides:
read in class InputStream
Throws:
IOException

read

public int read(byte[] b,
                int off,
                int len)
         throws IOException
Overrides:
read in class InputStream
Throws:
IOException

skip

public long skip(long n)
          throws IOException
Overrides:
skip in class InputStream
Throws:
IOException

available

public int available()
              throws IOException
Overrides:
available in class InputStream
Throws:
IOException

mark

public void mark(int readlimit)
Overrides:
mark in class InputStream

reset

public void reset()
           throws IOException
Overrides:
reset in class InputStream
Throws:
IOException

markSupported

public boolean markSupported()
Overrides:
markSupported in class InputStream

close

public void close()
           throws IOException
Noop. Does not close the passed in archive, which is kept open for further reading.

Specified by:
close in interface Closeable
Overrides:
close in class InputStream
Throws:
IOException

closeUnderlying

public void closeUnderlying()
                     throws IOException
Actually closes the underlying InputStream. Call this method instead of close, which is implemented as a no-op. Alternatively call close directly on the parent.

Throws:
IOException


Copyright © 2009-2012 The Apache Software Foundation. All Rights Reserved.