12d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papppackage com.bumptech.glide.load.resource; 22d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp 32d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Pappimport com.bumptech.glide.load.engine.Resource; 42d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp 52d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp/** 62d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp * Simple wrapper for an arbitrary object which helps to satisfy some of the glide engine's contracts. 72d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp * <b>Suggested usages only include resource object which don't have size and cannot be recycled/closed.</b> 82d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp * 92d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp * @param <T> type of the wrapped resource 102d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp */ 112d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp// TODO: there isn't much point in caching these... 122d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papppublic class SimpleResource<T> implements Resource<T> { 132d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp protected final T data; 142d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp 152d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp public SimpleResource(T data) { 16f4e84300ed9c3a518f4bda4d29f417202e0e3adfSam Judd if (data == null) { 17f4e84300ed9c3a518f4bda4d29f417202e0e3adfSam Judd throw new NullPointerException("Data must not be null"); 18f4e84300ed9c3a518f4bda4d29f417202e0e3adfSam Judd } 192d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp this.data = data; 202d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp } 212d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp 222d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp @Override 232d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp public final T get() { 242d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp return data; 252d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp } 262d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp 272d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp @Override 282d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp public final int getSize() { 292d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp return 1; 302d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp } 312d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp 322d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp @Override 332d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp public void recycle() { 342d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp // no op 352d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp } 362d2fd74ee83002c19541f772dfb3e5ff5aa967c1Robert Papp} 37