All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.bumptech.glide.request.Request Maven / Gradle / Ivy

Go to download

A fast and efficient image loading library for Android focused on smooth scrolling.

There is a newer version: 5.0.0-rc01
Show newest version
package com.bumptech.glide.request;

/**
 * A request that loads a resource for an {@link com.bumptech.glide.request.target.Target}.
 */
public interface Request {

  /**
   * Starts an asynchronous load.
   */
  void begin();

  /**
   * Identical to {@link #clear()} except that the request may later be restarted.
   */
  void pause();

  /**
   * Prevents any bitmaps being loaded from previous requests, releases any resources held by this
   * request, displays the current placeholder if one was provided, and marks the request as having
   * been cancelled.
   */
  void clear();

  /**
   * Returns true if this request is paused and may be restarted.
   */
  boolean isPaused();

  /**
   * Returns true if this request is running and has not completed or failed.
   */
  boolean isRunning();

  /**
   * Returns true if the request has completed successfully.
   */
  boolean isComplete();

  /**
   * Returns true if a non-placeholder resource is put. For Requests that load more than one
   * resource, isResourceSet may return true even if {@link #isComplete()}} returns false.
   */
  boolean isResourceSet();

  /**
   * Returns true if the request has been cancelled.
   */
  boolean isCancelled();

  /**
   * Returns true if the request has failed.
   */
  boolean isFailed();

  /**
   * Recycles the request object and releases its resources.
   */
  void recycle();

  /**
   * Returns {@code true} if this {@link Request} is equivalent to the given {@link Request} (has
   * all of the same options and sizes).
   *
   * 

This method is identical to {@link Object#equals(Object)} except that it's specific to * {@link Request} subclasses. We do not use {@link Object#equals(Object)} directly because we * track {@link Request}s in collections like {@link java.util.Set} and it's perfectly legitimate * to have two different {@link Request} objects for two different * {@link com.bumptech.glide.request.target.Target}s (for example). Using a similar but different * method let's us selectively compare {@link Request} objects to each other when it's useful in * specific scenarios. */ boolean isEquivalentTo(Request other); }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy