com.cometway.io
Class FixedLengthInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by com.cometway.io.FixedLengthInputStream
All Implemented Interfaces:
java.io.Closeable

public class FixedLengthInputStream
extends java.io.InputStream

This subclass of InputStream acts as a wrapper to control the amount of data which can be read from the Stream. It is instantiated with a fixed limit, when that number of bytes have been read from this stream, no further data can be read.


Field Summary
 boolean allowStreamClose
           
 
Constructor Summary
FixedLengthInputStream(java.io.InputStream reader, int readLimit)
           
 
Method Summary
 int available()
           
 void close()
           
 void mark(int num)
           
 boolean markSupported()
           
 int read()
           
 int read(byte[] in)
           
 int read(byte[] in, int a, int b)
           
 void reset()
           
 long skip(long num)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

allowStreamClose

public boolean allowStreamClose
Constructor Detail

FixedLengthInputStream

public FixedLengthInputStream(java.io.InputStream reader,
                              int readLimit)
Method Detail

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[] in)
         throws java.io.IOException
Overrides:
read in class java.io.InputStream
Throws:
java.io.IOException

read

public int read(byte[] in,
                int a,
                int b)
         throws java.io.IOException
Overrides:
read in class java.io.InputStream
Throws:
java.io.IOException

skip

public long skip(long num)
          throws java.io.IOException
Overrides:
skip in class java.io.InputStream
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
Specified by:
close in interface java.io.Closeable
Overrides:
close in class java.io.InputStream
Throws:
java.io.IOException

mark

public void mark(int num)
Overrides:
mark in class java.io.InputStream

reset

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

markSupported

public boolean markSupported()
Overrides:
markSupported in class java.io.InputStream