Request.java revision 36d52a4b762f98482163e38c68a324ae20392e7d
19fc12334a7d14347cd6951d0653264b2597bd3a0Sam Juddpackage com.bumptech.glide.request;
20ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd
30ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd/**
45f4610b54d517be58105bcf73ce3291ba79f9f40Sam Judd * A request that loads a resource for an {@link com.bumptech.glide.request.target.Target}.
50ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd */
60ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Juddpublic interface Request {
70ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd
80ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd    /**
90ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd     * Starts an asynchronous load.
100ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd     */
11907ba8ef0b9105e4e9602435f95202479e75cc9dSam Judd    public void begin();
120ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd
130ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd    /**
1436d52a4b762f98482163e38c68a324ae20392e7dSam Judd     * Identical to {@link #clear()} except that the request may later be restarted.
1536d52a4b762f98482163e38c68a324ae20392e7dSam Judd     */
1636d52a4b762f98482163e38c68a324ae20392e7dSam Judd    public void pause();
1736d52a4b762f98482163e38c68a324ae20392e7dSam Judd
1836d52a4b762f98482163e38c68a324ae20392e7dSam Judd    /**
1936d52a4b762f98482163e38c68a324ae20392e7dSam Judd     * Prevents any bitmaps being loaded from previous requests, releases any resources held by this request,
2036d52a4b762f98482163e38c68a324ae20392e7dSam Judd     * displays the current placeholder if one was provided, and marks the request as having been cancelled.
210ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd     */
220ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd    public void clear();
230ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd
240ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd    /**
2536d52a4b762f98482163e38c68a324ae20392e7dSam Judd     * Returns true if this request is paused and may be restarted.
2636d52a4b762f98482163e38c68a324ae20392e7dSam Judd     */
2736d52a4b762f98482163e38c68a324ae20392e7dSam Judd    public boolean isPaused();
2836d52a4b762f98482163e38c68a324ae20392e7dSam Judd
2936d52a4b762f98482163e38c68a324ae20392e7dSam Judd    /**
308a6067fbe2a670d2e893c79c9c0ec17817da6568Sam Judd     * Returns true if this request is running and has not completed or failed.
318a6067fbe2a670d2e893c79c9c0ec17817da6568Sam Judd     */
328a6067fbe2a670d2e893c79c9c0ec17817da6568Sam Judd    public boolean isRunning();
338a6067fbe2a670d2e893c79c9c0ec17817da6568Sam Judd
348a6067fbe2a670d2e893c79c9c0ec17817da6568Sam Judd    /**
3536d52a4b762f98482163e38c68a324ae20392e7dSam Judd     * Returns true if the request has completed successfully.
360ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd     */
370ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd    public boolean isComplete();
3827eb05702fd4531d6974640c62df1d569629edb6Sam Judd
3927eb05702fd4531d6974640c62df1d569629edb6Sam Judd    /**
4036d52a4b762f98482163e38c68a324ae20392e7dSam Judd     * Returns true if the request has been cancelled.
4136d52a4b762f98482163e38c68a324ae20392e7dSam Judd     */
4236d52a4b762f98482163e38c68a324ae20392e7dSam Judd    public boolean isCancelled();
4336d52a4b762f98482163e38c68a324ae20392e7dSam Judd
4436d52a4b762f98482163e38c68a324ae20392e7dSam Judd    /**
4527eb05702fd4531d6974640c62df1d569629edb6Sam Judd     * Returns true if the request has failed.
4627eb05702fd4531d6974640c62df1d569629edb6Sam Judd     */
4727eb05702fd4531d6974640c62df1d569629edb6Sam Judd    public boolean isFailed();
48d0546ba0366fc276a5ac1f4c2eea88901166f7beSam Judd
49fe090f50f3040f4d478143a3e0ffa8cdf813fefcSam Judd    /**
50fe090f50f3040f4d478143a3e0ffa8cdf813fefcSam Judd     * Recycles the request object and releases its resources.
51fe090f50f3040f4d478143a3e0ffa8cdf813fefcSam Judd     */
52d0546ba0366fc276a5ac1f4c2eea88901166f7beSam Judd    public void recycle();
530ba0245a97116b2f2c7bd67213961ac4e2dc3e56Sam Judd}
54