org.w3c.jigsaw.ssi
Class DelayedInputStream

java.lang.Object
  |
  +--java.io.InputStream
        |
        +--org.w3c.jigsaw.ssi.DelayedInputStream

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
Overrides:
close in class java.io.InputStream

read

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

read

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

read

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

reset

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

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

available

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