JBoss VFS 3.1.0.Final-redhat-2

org.jboss.vfs.util
Class LazyInputStream

java.lang.Object
  extended by java.io.InputStream
      extended by org.jboss.vfs.util.LazyInputStream
All Implemented Interfaces:
Closeable

public class LazyInputStream
extends InputStream

Lazy input stream. Delaying opening stream from underlying virtual file as long as possible. Won't be opened if not used at all. Synchronization is very simplistic, as it's highly unlikely there will be a lot of concurrent requests.

Author:
Ales Justin

Constructor Summary
LazyInputStream(VirtualFile file)
           
 
Method Summary
 int available()
           
 void close()
           
 void mark(int readlimit)
           
 boolean markSupported()
           
protected  InputStream openStream()
          Open stream.
 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
 

Constructor Detail

LazyInputStream

public LazyInputStream(VirtualFile file)
Method Detail

openStream

protected InputStream openStream()
                          throws IOException
Open stream.

Returns:
file's stream
Throws:
IOException - for any IO error

read

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

read

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

read

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

skip

public long skip(long n)
          throws IOException
Overrides:
skip in class InputStream
Throws:
IOException

available

public int available()
              throws IOException
Overrides:
available in class InputStream
Throws:
IOException

close

public void close()
           throws IOException
Specified by:
close in interface Closeable
Overrides:
close in class InputStream
Throws:
IOException

mark

public void mark(int readlimit)
Overrides:
mark in class InputStream

reset

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

markSupported

public boolean markSupported()
Overrides:
markSupported in class InputStream

JBoss VFS 3.1.0.Final-redhat-2

Copyright © 2012 JBoss, A division of Red Hat, Inc. All Rights Reserved.