com.izforge.izpack.installer
Class LoggedInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by com.izforge.izpack.installer.LoggedInputStream
All Implemented Interfaces:
java.io.Closeable

public class LoggedInputStream
extends java.io.InputStream

Wraps an InputStream in order to track how much bytes are being read, and then updates the progress dialog. When the stream is opened the progress dialog shows up. When the stream is closed the dialog is disposed. Make sure you are closing the streams.

Version:
$Revision: 1.1 $
Author:
Vladimir Ralev

Field Summary
private  long bytesRead
           
private  boolean cancelled
           
private  DownloadPanel downloader
           
private  java.io.InputStream is
           
private  long lastBytes
           
private  long lastTime
           
 
Constructor Summary
LoggedInputStream(java.io.InputStream is, WebAccessor webAccessor)
           
 
Method Summary
 int available()
           
 void close()
           
 long getBytesRead()
           
 void mark(int readlimit)
           
 boolean markSupported()
           
 int read()
           
 int read(byte[] b)
           
 int read(byte[] b, int off, int len)
           
 void reset()
           
 void setCancelled(boolean cancel)
           
 long skip(long n)
           
private  void update()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

bytesRead

private long bytesRead

is

private java.io.InputStream is

downloader

private DownloadPanel downloader

cancelled

private boolean cancelled

lastTime

private long lastTime

lastBytes

private long lastBytes
Constructor Detail

LoggedInputStream

public LoggedInputStream(java.io.InputStream is,
                         WebAccessor webAccessor)
Method Detail

setCancelled

public void setCancelled(boolean cancel)

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

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

read

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

getBytesRead

public long getBytesRead()

read

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

update

private void update()