19fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddpackage com.bumptech.glide.request.target;
28c7ae0d1551752a2ff6260dd807580a90020451eSam Judd
3b44604067356bb73cae3c910ac0e0044d26974a5Sam Juddimport android.graphics.drawable.Drawable;
4fe090f50f3040f4d478143a3e0ffa8cdf813fefcSam Judd
59fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddimport com.bumptech.glide.request.Request;
68c7ae0d1551752a2ff6260dd807580a90020451eSam Judd
7b44604067356bb73cae3c910ac0e0044d26974a5Sam Judd/**
8fe090f50f3040f4d478143a3e0ffa8cdf813fefcSam Judd * A base {@link Target} for loading {@link com.bumptech.glide.load.engine.Resource}s that provides basic or empty
9fe090f50f3040f4d478143a3e0ffa8cdf813fefcSam Judd * implementations for most methods.
10b44604067356bb73cae3c910ac0e0044d26974a5Sam Judd *
11b44604067356bb73cae3c910ac0e0044d26974a5Sam Judd * <p>
12fe090f50f3040f4d478143a3e0ffa8cdf813fefcSam Judd *     For maximum efficiency, clear this target when you have finished using or displaying the
13fe090f50f3040f4d478143a3e0ffa8cdf813fefcSam Judd *     {@link com.bumptech.glide.load.engine.Resource} loaded into it using
14fe090f50f3040f4d478143a3e0ffa8cdf813fefcSam Judd *     {@link com.bumptech.glide.Glide#clear(Target)}.
15b44604067356bb73cae3c910ac0e0044d26974a5Sam Judd * </p>
16b44604067356bb73cae3c910ac0e0044d26974a5Sam Judd *
17b44604067356bb73cae3c910ac0e0044d26974a5Sam Judd * <p>
182896f4261b305efc0da164314fb90eb75bf5a234Sam Judd *     For loading {@link com.bumptech.glide.load.engine.Resource}s into {@link android.view.View}s,
192896f4261b305efc0da164314fb90eb75bf5a234Sam Judd *     {@link com.bumptech.glide.request.target.ViewTarget} or {@link com.bumptech.glide.request.target.ImageViewTarget}
202896f4261b305efc0da164314fb90eb75bf5a234Sam Judd *     are preferable.
21b44604067356bb73cae3c910ac0e0044d26974a5Sam Judd * </p>
22b5419dc08eb0a0f82821d774435720e5a31bc936Sam Judd *
23b5419dc08eb0a0f82821d774435720e5a31bc936Sam Judd * @param <Z> The type of resource that will be received by this target.
24b44604067356bb73cae3c910ac0e0044d26974a5Sam Judd */
25b38d03ba0aa2b9dc036bb987a13cb5fcc6ec661dSam Juddpublic abstract class BaseTarget<Z> implements Target<Z> {
268c7ae0d1551752a2ff6260dd807580a90020451eSam Judd
270ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd    private Request request;
288c7ae0d1551752a2ff6260dd807580a90020451eSam Judd
295f4610b54d517be58105bcf73ce3291ba79f9f40Sam Judd    /**
305f4610b54d517be58105bcf73ce3291ba79f9f40Sam Judd     * {@inheritDoc}
315f4610b54d517be58105bcf73ce3291ba79f9f40Sam Judd     */
328c7ae0d1551752a2ff6260dd807580a90020451eSam Judd    @Override
330ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd    public void setRequest(Request request) {
340ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd        this.request = request;
350ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd    }
360ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd
375f4610b54d517be58105bcf73ce3291ba79f9f40Sam Judd    /**
385f4610b54d517be58105bcf73ce3291ba79f9f40Sam Judd     * {@inheritDoc}
395f4610b54d517be58105bcf73ce3291ba79f9f40Sam Judd     */
400ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd    @Override
410ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd    public Request getRequest() {
420ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd        return request;
430ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd    }
440ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd
455f4610b54d517be58105bcf73ce3291ba79f9f40Sam Judd    /**
465f4610b54d517be58105bcf73ce3291ba79f9f40Sam Judd     * {@inheritDoc}
475f4610b54d517be58105bcf73ce3291ba79f9f40Sam Judd     */
480ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd    @Override
492896f4261b305efc0da164314fb90eb75bf5a234Sam Judd    public void onLoadCleared(Drawable placeholder) {
502896f4261b305efc0da164314fb90eb75bf5a234Sam Judd        // Do nothing.
512896f4261b305efc0da164314fb90eb75bf5a234Sam Judd    }
522896f4261b305efc0da164314fb90eb75bf5a234Sam Judd
532896f4261b305efc0da164314fb90eb75bf5a234Sam Judd    /**
542896f4261b305efc0da164314fb90eb75bf5a234Sam Judd     * {@inheritDoc}
552896f4261b305efc0da164314fb90eb75bf5a234Sam Judd     */
562896f4261b305efc0da164314fb90eb75bf5a234Sam Judd    @Override
572896f4261b305efc0da164314fb90eb75bf5a234Sam Judd    public void onLoadStarted(Drawable placeholder) {
582896f4261b305efc0da164314fb90eb75bf5a234Sam Judd        // Do nothing.
592896f4261b305efc0da164314fb90eb75bf5a234Sam Judd    }
602896f4261b305efc0da164314fb90eb75bf5a234Sam Judd
612896f4261b305efc0da164314fb90eb75bf5a234Sam Judd    /**
622896f4261b305efc0da164314fb90eb75bf5a234Sam Judd     * {@inheritDoc}
632896f4261b305efc0da164314fb90eb75bf5a234Sam Judd     */
642896f4261b305efc0da164314fb90eb75bf5a234Sam Judd    @Override
652896f4261b305efc0da164314fb90eb75bf5a234Sam Judd    public void onLoadFailed(Exception e, Drawable errorDrawable) {
662896f4261b305efc0da164314fb90eb75bf5a234Sam Judd        // Do nothing.
672896f4261b305efc0da164314fb90eb75bf5a234Sam Judd    }
68d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd
69d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd    /**
70d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd     * {@inheritDoc}
71d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd     */
72d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd    @Override
73d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd    public void onStart() {
74d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd        // Do nothing.
75d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd    }
76d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd
77d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd    /**
78d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd     * {@inheritDoc}
79d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd     */
80d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd    @Override
81d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd    public void onStop() {
82d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd        // Do nothing.
83d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd    }
84d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd
85d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd    /**
86d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd     * {@inheritDoc}
87d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd     */
88d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd    @Override
89d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd    public void onDestroy() {
90d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd        // Do nothing.
91d8eac4cec0fe1fa9b496998cfac858fd603f4f32Sam Judd    }
928c7ae0d1551752a2ff6260dd807580a90020451eSam Judd}
93