Class SingleRequest<R>

    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void begin()
      Starts an asynchronous load.
      void clear()
      Cancels the current load if it is in progress, clears any resources held onto by the request and replaces the loaded resource if the load completed with the placeholder.
      java.lang.Object getLock()
      Returns the lock to use when notifying individual requests.
      boolean isAnyResourceSet()
      Returns true if a resource is set, even if the request is not yet complete or the primary request has failed.
      boolean isCleared()
      Returns true if the request has been cleared.
      boolean isComplete()
      Returns true if the request has completed successfully.
      boolean isEquivalentTo​(Request o)
      Returns true if this Request is equivalent to the given Request (has all of the same options and sizes).
      boolean isRunning()
      Returns true if this request is running and has not completed or failed.
      static <R> SingleRequest<R> obtain​(android.content.Context context, GlideContext glideContext, java.lang.Object requestLock, java.lang.Object model, java.lang.Class<R> transcodeClass, BaseRequestOptions<?> requestOptions, int overrideWidth, int overrideHeight, Priority priority, Target<R> target, RequestListener<R> targetListener, java.util.List<RequestListener<R>> requestListeners, RequestCoordinator requestCoordinator, Engine engine, TransitionFactory<? super R> animationFactory, java.util.concurrent.Executor callbackExecutor)  
      void onLoadFailed​(GlideException e)
      A callback method that should never be invoked directly.
      void onResourceReady​(Resource<?> resource, DataSource dataSource, boolean isLoadedFromAlternateCacheKey)
      A callback method that should never be invoked directly.
      void onSizeReady​(int width, int height)
      A callback method that should never be invoked directly.
      void pause()
      Similar to Request.clear() for in progress requests (or portions of a request), but does nothing if the request is already complete.
      java.lang.String toString()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Method Detail

      • begin

        public void begin()
        Description copied from interface: Request
        Starts an asynchronous load.
        Specified by:
        begin in interface Request
      • clear

        public void clear()
        Cancels the current load if it is in progress, clears any resources held onto by the request and replaces the loaded resource if the load completed with the placeholder.

        Cleared requests can be restarted with a subsequent call to begin()

        Specified by:
        clear in interface Request
        See Also:
        cancel()
      • pause

        public void pause()
        Description copied from interface: Request
        Similar to Request.clear() for in progress requests (or portions of a request), but does nothing if the request is already complete.

        Unlike Request.clear(), this method allows implementations to act differently on subparts of a request. For example if a Request has both a thumbnail and a primary request and the thumbnail portion of the request is complete, this method allows only the primary portion of the request to be paused without clearing the previously completed thumbnail portion.

        Specified by:
        pause in interface Request
      • isRunning

        public boolean isRunning()
        Description copied from interface: Request
        Returns true if this request is running and has not completed or failed.
        Specified by:
        isRunning in interface Request
      • isComplete

        public boolean isComplete()
        Description copied from interface: Request
        Returns true if the request has completed successfully.
        Specified by:
        isComplete in interface Request
      • isCleared

        public boolean isCleared()
        Description copied from interface: Request
        Returns true if the request has been cleared.
        Specified by:
        isCleared in interface Request
      • isAnyResourceSet

        public boolean isAnyResourceSet()
        Description copied from interface: Request
        Returns true if a resource is set, even if the request is not yet complete or the primary request has failed.
        Specified by:
        isAnyResourceSet in interface Request
      • onSizeReady

        public void onSizeReady​(int width,
                                int height)
        A callback method that should never be invoked directly.
        Specified by:
        onSizeReady in interface SizeReadyCallback
        Parameters:
        width - The width in pixels of the target, or Target.SIZE_ORIGINAL to indicate that we want the resource at its original width.
        height - The height in pixels of the target, or Target.SIZE_ORIGINAL to indicate that we want the resource at its original height.
      • onResourceReady

        public void onResourceReady​(Resource<?> resource,
                                    DataSource dataSource,
                                    boolean isLoadedFromAlternateCacheKey)
        A callback method that should never be invoked directly.
        Specified by:
        onResourceReady in interface ResourceCallback
        Parameters:
        resource - The loaded resource.
      • getLock

        public java.lang.Object getLock()
        Description copied from interface: ResourceCallback
        Returns the lock to use when notifying individual requests.
        Specified by:
        getLock in interface ResourceCallback
      • isEquivalentTo

        public boolean isEquivalentTo​(Request o)
        Description copied from interface: Request
        Returns true if this Request is equivalent to the given Request (has all of the same options and sizes).

        This method is identical to Object.equals(Object) except that it's specific to Request subclasses. We do not use Object.equals(Object) directly because we track Requests in collections like Set and it's perfectly legitimate to have two different Request objects for two different Targets (for example). Using a similar but different method let's us selectively compare Request objects to each other when it's useful in specific scenarios.

        Specified by:
        isEquivalentTo in interface Request
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object