com.bumptech.glide.load
Interface ResourceDecoder<T,Z>

Type Parameters:
T - The type the resource will be decoded from (File, InputStream etc).
Z - The type of the decoded resource (Bitmap, Drawable etc).
All Known Implementing Classes:
FileDecoder, FileDescriptorBitmapDecoder, FileToStreamDecoder, GifBitmapWrapperResourceDecoder, GifBitmapWrapperStreamResourceDecoder, GifResourceDecoder, ImageVideoBitmapDecoder, NullDecoder, StreamBitmapDecoder

public interface ResourceDecoder<T,Z>

An interface for decoding resources.


Method Summary
 Resource<Z> decode(T source, int width, int height)
          Returns a decoded resource from the given data or null if no resource could be decoded.
 String getId()
          Returns an ID identifying any transformation this decoder may apply to the given data that will be mixed in to the cache key.
 

Method Detail

decode

Resource<Z> decode(T source,
                   int width,
                   int height)
                   throws IOException
Returns a decoded resource from the given data or null if no resource could be decoded.

The source is managed by the caller, there's no need to close it. The returned Resource will be released when the engine sees fit.

Note - The width and height arguments are hints only, there is no requirement that the decoded resource exactly match the given dimensions. A typical use case would be to use the target dimensions to determine how much to downsample Bitmaps by to avoid overly large allocations.

Parameters:
source - The data the resource should be decoded from.
width - The ideal width in pixels of the decoded resource, or Target.SIZE_ORIGINAL to indicate the original resource width.
height - The ideal height in pixels of the decoded resource, or Target.SIZE_ORIGINAL to indicate the original resource height.
Throws:
IOException

getId

String getId()
Returns an ID identifying any transformation this decoder may apply to the given data that will be mixed in to the cache key.

If the decoder does not transform the data in a way that significantly affects the cached result (ie performs no downsampling) an empty string is an appropriate id.