blob: 68384d139a8345b65055c2b2c9c4d4e20804f9a2 [file] [log] [blame]
package com.bumptech.glide.provider;
import com.bumptech.glide.load.Encoder;
import com.bumptech.glide.load.ResourceDecoder;
import com.bumptech.glide.load.ResourceEncoder;
import com.bumptech.glide.load.resource.transcode.ResourceTranscoder;
import com.bumptech.glide.load.model.ModelLoader;
import java.io.InputStream;
public class ChildLoadProvider<A, T, Z, R> implements LoadProvider<A, T, Z, R> {
private LoadProvider<A, T, Z, R> parent;
private ResourceDecoder<InputStream, Z> cacheDecoder;
private ResourceDecoder<T, Z> sourceDecoder;
private ResourceEncoder<Z> encoder;
private ResourceTranscoder<Z, R> transcoder;
private Encoder<T> sourceEncoder;
public ChildLoadProvider(LoadProvider<A, T, Z, R> parent) {
this.parent = parent;
}
@Override
public ModelLoader<A, T> getModelLoader() {
return parent.getModelLoader();
}
public void setCacheDecoder(ResourceDecoder<InputStream, Z> cacheDecoder) {
this.cacheDecoder = cacheDecoder;
}
public void setSourceDecoder(ResourceDecoder<T, Z> sourceDecoder) {
this.sourceDecoder = sourceDecoder;
}
public void setEncoder(ResourceEncoder<Z> encoder) {
this.encoder = encoder;
}
public void setTranscoder(ResourceTranscoder<Z, R> transcoder) {
this.transcoder = transcoder;
}
public void setSourceEncoder(Encoder<T> sourceEncoder) {
this.sourceEncoder = sourceEncoder;
}
@Override
public ResourceDecoder<InputStream, Z> getCacheDecoder() {
if (cacheDecoder != null) {
return cacheDecoder;
} else {
return parent.getCacheDecoder();
}
}
@Override
public ResourceDecoder<T, Z> getSourceDecoder() {
if (sourceDecoder != null) {
return sourceDecoder;
} else {
return parent.getSourceDecoder();
}
}
@Override
public Encoder<T> getSourceEncoder() {
if (sourceEncoder != null) {
return sourceEncoder;
} else {
return parent.getSourceEncoder();
}
}
@Override
public ResourceEncoder<Z> getEncoder() {
if (encoder != null) {
return encoder;
} else {
return parent.getEncoder();
}
}
@Override
public ResourceTranscoder<Z, R> getTranscoder() {
if (transcoder != null) {
return transcoder;
} else {
return parent.getTranscoder();
}
}
}