com.bumptech.glide.load.resource
Class SimpleResource<T>

java.lang.Object
  extended by com.bumptech.glide.load.resource.SimpleResource<T>
Type Parameters:
T - type of the wrapped resource
All Implemented Interfaces:
Resource<T>
Direct Known Subclasses:
FileResource

public class SimpleResource<T>
extends Object
implements Resource<T>

Simple wrapper for an arbitrary object which helps to satisfy some of the glide engine's contracts. Suggested usages only include resource object which don't have size and cannot be recycled/closed.


Field Summary
protected  T data
           
 
Constructor Summary
SimpleResource(T data)
           
 
Method Summary
 T get()
          Returns an instance of the wrapped resource.
 int getSize()
          Returns the size in bytes of the wrapped resource to use to determine how much of the memory cache this resource uses.
 void recycle()
          Cleans up and recycles internal resources.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

data

protected final T data
Constructor Detail

SimpleResource

public SimpleResource(T data)
Method Detail

get

public final T get()
Description copied from interface: Resource
Returns an instance of the wrapped resource.

Note - This does not have to be the same instance of the wrapped resource class and in fact it is often appropriate to return a new instance for each call. For example, Drawables should only be used by a single View at a time so each call to this method for Resources that wrap Drawables should always return a new Drawable.

Specified by:
get in interface Resource<T>

getSize

public final int getSize()
Description copied from interface: Resource
Returns the size in bytes of the wrapped resource to use to determine how much of the memory cache this resource uses.

Specified by:
getSize in interface Resource<T>

recycle

public void recycle()
Description copied from interface: Resource
Cleans up and recycles internal resources.

It is only safe to call this method if there are no current resource consumers and if this method has not yet been called. Typically this occurs at one of two times:

For most users of this class, the only time this method should ever be called is during transformations or transcoders, the framework will call this method when all consumers have released this resource and it has been evicted from the cache.

Specified by:
recycle in interface Resource<T>