FixedLoadProvider.java revision cf1e05bf226ce4e7a510a5f7cac0661b9b2e90e9
1package com.bumptech.glide.provider; 2 3import com.bumptech.glide.DataLoadProvider; 4import com.bumptech.glide.load.Encoder; 5import com.bumptech.glide.load.ResourceDecoder; 6import com.bumptech.glide.load.ResourceEncoder; 7import com.bumptech.glide.load.resource.transcode.ResourceTranscoder; 8import com.bumptech.glide.load.model.ModelLoader; 9 10import java.io.InputStream; 11 12public class FixedLoadProvider<A, T, Z, R> implements LoadProvider<A, T, Z, R> { 13 private final ModelLoader<A, T> modelLoader; 14 private ResourceTranscoder<Z, R> transcoder; 15 private final DataLoadProvider<T, Z> dataLoadProvider; 16 17 public FixedLoadProvider(ModelLoader<A, T> modelLoader, ResourceTranscoder<Z, R> transcoder, 18 DataLoadProvider<T, Z> dataLoadProvider) { 19 if (modelLoader == null) { 20 throw new NullPointerException("ModelLoader must not be null"); 21 } 22 this.modelLoader = modelLoader; 23 if (transcoder == null) { 24 throw new NullPointerException("Transcoder must not be null"); 25 } 26 this.transcoder = transcoder; 27 if (dataLoadProvider == null) { 28 throw new NullPointerException("DataLoadProvider must not be null"); 29 } 30 this.dataLoadProvider = dataLoadProvider; 31 } 32 33 @Override 34 public ModelLoader<A, T> getModelLoader() { 35 return modelLoader; 36 } 37 38 @Override 39 public ResourceTranscoder<Z, R> getTranscoder() { 40 return transcoder; 41 } 42 43 @Override 44 public ResourceDecoder<InputStream, Z> getCacheDecoder() { 45 return dataLoadProvider.getCacheDecoder(); 46 } 47 48 @Override 49 public ResourceDecoder<T, Z> getSourceDecoder() { 50 return dataLoadProvider.getSourceDecoder(); 51 } 52 53 @Override 54 public Encoder<T> getSourceEncoder() { 55 return dataLoadProvider.getSourceEncoder(); 56 } 57 58 @Override 59 public ResourceEncoder<Z> getEncoder() { 60 return dataLoadProvider.getEncoder(); 61 } 62} 63