org.w3c.jigsaw.ssi
Class DelayedInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by org.w3c.jigsaw.ssi.DelayedInputStream
All Implemented Interfaces:
java.io.Closeable

public abstract class DelayedInputStream
extends java.io.InputStream

Used to delay the (perhaps expensive) creation of a real stream until the first access.


Field Summary
protected  java.io.InputStream in
          The InputStream that data will be really read from.
 
Constructor Summary
DelayedInputStream()
           
 
Method Summary
 int available()
           
 void close()
           
protected abstract  void init()
          This method is called on the first access to the stream.
 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
 

Field Detail

in

protected java.io.InputStream in
The InputStream that data will be really read from.

Constructor Detail

DelayedInputStream

public DelayedInputStream()
Method Detail

init

protected abstract void init()
This method is called on the first access to the stream. (Not at construction time.) Should initialize in as a valid stream. Must not make it null.


close

public final 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

read

public final int read()
               throws java.io.IOException
Specified by:
read in class java.io.InputStream
Throws:
java.io.IOException

read

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

read

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

reset

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

mark

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

markSupported

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

skip

public final long skip(long n)
                throws java.io.IOException
Overrides:
skip in class java.io.InputStream
Throws:
java.io.IOException

available

public final int available()
                    throws java.io.IOException
Overrides:
available in class java.io.InputStream
Throws:
java.io.IOException