com.sun.svg.util
Class ProgressiveInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by com.sun.svg.util.ProgressiveInputStream
All Implemented Interfaces:
java.io.Closeable

public class ProgressiveInputStream
extends java.io.InputStream

The ProgressInputStream class provides a way to notify the application of progress when loading a resource, given an expected resource size.


Nested Class Summary
static interface ProgressiveInputStream.Listener
           
 
Constructor Summary
ProgressiveInputStream(java.io.InputStream pis, int lengthEstimate, ProgressiveInputStream.Listener listener)
          Creates a new instance of ProgressiveInputStream
 
Method Summary
 int available()
           
 void close()
           
 void mark(int readlimit)
           
 boolean markSupported()
           
 int read()
           
 int read(byte[] b, int off, int len)
           
 void reset()
           
 long skip(long n)
           
 
Methods inherited from class java.io.InputStream
read
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ProgressiveInputStream

public ProgressiveInputStream(java.io.InputStream pis,
                              int lengthEstimate,
                              ProgressiveInputStream.Listener listener)
Creates a new instance of ProgressiveInputStream

Parameters:
pis - the proxied InputStream instance. Should not be null
lengthEstimate - the anticipated input stream length. Should be strictly positive.
listener - the ProgressiveInputStream.Listener instance to notify when the input stream has been fully loaded.
Method Detail

read

public final int read()
               throws java.io.IOException
Specified by:
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

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

markSupported

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

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