Class IOResources
- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionstatic Content.SourceasContentSource(Resource resource, ByteBufferPool.Sized bufferPool, long offset, long length) Gets aContent.Sourcewith a range of the contents of a resource.static InputStreamasInputStream(Resource resource) Gets anInputStreamwith the contents of a resource.static voidcopy(Resource resource, Content.Sink sink, ByteBufferPool.Sized bufferPool, long offset, long length, Callback callback) Performs an asynchronous copy of a subset of the contents of a resource to a sink, using the given buffer pool and buffer characteristics.static RetainableByteBuffertoRetainableByteBuffer(Resource resource, ByteBufferPool.Sized bufferPool) Reads the contents of a Resource into a RetainableByteBuffer. 
- 
Constructor Details
- 
IOResources
public IOResources() 
 - 
 - 
Method Details
- 
toRetainableByteBuffer
public static RetainableByteBuffer toRetainableByteBuffer(Resource resource, ByteBufferPool.Sized bufferPool) throws IllegalArgumentException Reads the contents of a Resource into a RetainableByteBuffer.
The resource must not be a directory, must exists and there must be a way to access its contents.
Multiple optimized methods are used to access the resource's contents but if they all fail,
Resource.newInputStream()is used as a fallback.- Parameters:
 resource- the resource to be read.bufferPool- theByteBufferPool.Sizedto get buffers from.nullmeans allocate new buffers as needed.- Returns:
 - a 
RetainableByteBuffercontaining the resource's contents. - Throws:
 IllegalArgumentException- if the resource is a directory or does not exist or there is no way to access its contents.
 - 
asContentSource
public static Content.Source asContentSource(Resource resource, ByteBufferPool.Sized bufferPool, long offset, long length) throws IllegalArgumentException Gets a
Content.Sourcewith a range of the contents of a resource.The resource must not be a directory, must exists and there must be a way to access its contents.
Multiple optimized methods are used to access the resource's contents but if they all fail,
Resource.newInputStream()is used as a fallback.- Parameters:
 resource- the resource from which to get aContent.Source.bufferPool- theByteBufferPool.Sizedto get buffers from.nullmeans allocate new buffers as needed.offset- the offset byte from which to read from.length- the length of the content to read, -1 for the full length.- Returns:
 - the 
Content.Source. - Throws:
 IllegalArgumentException- if the resource is a directory or does not exist or there is no way to access its contents.
 - 
asInputStream
Gets an
InputStreamwith the contents of a resource.The resource must not be a directory, must exist and must return non-null to
Resource.newInputStream().- Parameters:
 resource- the resource from which to get anInputStream.- Returns:
 - the 
InputStream. - Throws:
 IllegalArgumentException- if the resource is a directory or does not exist orResource.newInputStream()returns null.
 - 
copy
public static void copy(Resource resource, Content.Sink sink, ByteBufferPool.Sized bufferPool, long offset, long length, Callback callback) throws IllegalArgumentException Performs an asynchronous copy of a subset of the contents of a resource to a sink, using the given buffer pool and buffer characteristics.
The resource must not be a directory, must exist and there must be a way to access its contents.
Multiple optimized methods are used to access the resource's contents but if they all fail,
Content.Source.from(ByteBufferPool.Sized, InputStream, long, long)is used as a fallback to perform thecopy.- Parameters:
 resource- the resource to copy from.sink- the sink to copy to.bufferPool- theByteBufferPoolto get buffers from.nullmeans allocate new buffers as needed.offset- the offset byte of the resource to start from.length- the length of the resource's contents to copy, -1 for the full length.callback- the callback to notify when the copy is done.- Throws:
 IllegalArgumentException
 
 -