Interface RandomAccessData
- All Known Implementing Classes:
ByteArrayRandomAccessData,RandomAccessDataFile
public interface RandomAccessData
Interface that provides read-only random access to some underlying data. Implementations must allow concurrent reads in a thread-safe manner.
Nested Class Summary
Nested Classes Modifier and Type Interface Description static classRandomAccessData.ResourceAccessLock modes for accessing the underlying resource.
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description InputStreamgetInputStream(RandomAccessData.ResourceAccess access)Returns anInputStreamthat can be used to read the underlying data.longgetSize()Returns the size of the data.RandomAccessDatagetSubsection(long offset, long length)Returns a newRandomAccessDatafor a specific subsection of this data.
Method Detail
getInputStream
InputStream getInputStream(RandomAccessData.ResourceAccess access) throws IOException
Returns anInputStreamthat can be used to read the underlying data. The caller is responsible close the underlying stream.- Parameters:
access- hint indicating how the underlying data should be accessed- Returns:
- a new input stream that can be used to read the underlying data.
- Throws:
IOException- if the stream cannot be opened
getSubsection
RandomAccessData getSubsection(long offset, long length)
Returns a newRandomAccessDatafor a specific subsection of this data.- Parameters:
offset- the offset of the subsectionlength- the length of the subsection- Returns:
- the subsection data
getSize
long getSize()
Returns the size of the data.- Returns:
- the size