Package org.jboss.vfs.util
Class LazyInputStream
java.lang.Object
java.io.InputStream
org.jboss.vfs.util.LazyInputStream
- All Implemented Interfaces:
Closeable
,AutoCloseable
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.
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
Field Details
-
file
-
stream
-
-
Constructor Details
-
LazyInputStream
-
-
Method Details
-
openStream
Open stream.- Returns:
- file's stream
- Throws:
IOException
- for any IO error
-
read
- Specified by:
read
in classInputStream
- Throws:
IOException
-
read
- Overrides:
read
in classInputStream
- Throws:
IOException
-
read
- Overrides:
read
in classInputStream
- Throws:
IOException
-
skip
- Overrides:
skip
in classInputStream
- Throws:
IOException
-
available
- Overrides:
available
in classInputStream
- Throws:
IOException
-
close
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Overrides:
close
in classInputStream
- Throws:
IOException
-
mark
public void mark(int readlimit) - Overrides:
mark
in classInputStream
-
reset
- Overrides:
reset
in classInputStream
- Throws:
IOException
-
markSupported
public boolean markSupported()- Overrides:
markSupported
in classInputStream
-