1bb6268f046f355e1b6cd1bad6707288180a4bac4Sam Juddpackage com.bumptech.glide.load.resource;
2ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd
3bb6268f046f355e1b6cd1bad6707288180a4bac4Sam Juddimport com.bumptech.glide.load.Transformation;
4ee914288218f2fa29a96ed746c9bd9995857c8cdSam Juddimport com.bumptech.glide.load.engine.Resource;
5ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd
6ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd/**
7ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd * A noop Transformation that simply returns the given resource.
8b5419dc08eb0a0f82821d774435720e5a31bc936Sam Judd *
9b5419dc08eb0a0f82821d774435720e5a31bc936Sam Judd * @param <T> The type of the resource that will always be returned unmodified.
10ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd */
11ee914288218f2fa29a96ed746c9bd9995857c8cdSam Juddpublic class UnitTransformation<T> implements Transformation<T> {
1260b06578a99c3b29998be855e5e636e6e624850bSam Judd    private static final Transformation<?> TRANSFORMATION = new UnitTransformation<Object>();
13ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd
145f4610b54d517be58105bcf73ce3291ba79f9f40Sam Judd    /**
155f4610b54d517be58105bcf73ce3291ba79f9f40Sam Judd     * Returns a UnitTransformation for the given type.
165f4610b54d517be58105bcf73ce3291ba79f9f40Sam Judd     *
175f4610b54d517be58105bcf73ce3291ba79f9f40Sam Judd     * @param <T> The type of the resource to be transformed.
185f4610b54d517be58105bcf73ce3291ba79f9f40Sam Judd     */
19ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd    @SuppressWarnings("unchecked")
20ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd    public static <T> UnitTransformation<T> get() {
218acb4cc63588cdf595357bb60ac1ac79d3985893Robert Papp        return (UnitTransformation<T>) TRANSFORMATION;
22ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd    }
23ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd
24ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd    @Override
25ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd    public Resource<T> transform(Resource<T> resource, int outWidth, int outHeight) {
26ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd        return resource;
27ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd    }
28ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd
29ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd    @Override
30ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd    public String getId() {
31ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd        return "";
32ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd    }
33ee914288218f2fa29a96ed746c9bd9995857c8cdSam Judd}
34