public abstract class

BaseConsumer

extends Object
implements Consumer<T>
java.lang.Object
   ↳ com.facebook.imagepipeline.producers.BaseConsumer<T>
Known Direct Subclasses
Known Indirect Subclasses

Class Overview

Base implementation of Consumer that implements error handling conforming to the Consumer's contract.

This class also prevents execution of callbacks if one of final methods was called before: onFinish(isLast = true), onFailure or onCancellation.

All callbacks are executed within a synchronized block, so that clients can act as if all callbacks are called on single thread.

Summary

Public Constructors
BaseConsumer()
Public Methods
synchronized void onCancellation()
Called by a producer whenever it is cancelled and won't produce any more results
synchronized void onFailure(Throwable t)
Called by a producer whenever it terminates further work due to Throwable being thrown.
synchronized void onNewResult(T newResult, boolean isLast)
Called by a producer whenever new data is produced.
synchronized void onProgressUpdate(float progress)
Called when the progress updates.
Protected Methods
abstract void onCancellationImpl()
Called by onCancellation, override this method instead
abstract void onFailureImpl(Throwable t)
Called by onFailure, override this method instead
abstract void onNewResultImpl(T newResult, boolean isLast)
Called by onNewResult, override this method instead.
void onProgressUpdateImpl(float progress)
Called when the progress updates
void onUnhandledException(Exception e)
Called whenever onNewResultImpl or onFailureImpl throw an exception
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.facebook.imagepipeline.producers.Consumer

Public Constructors

public BaseConsumer ()

Public Methods

public synchronized void onCancellation ()

Called by a producer whenever it is cancelled and won't produce any more results

public synchronized void onFailure (Throwable t)

Called by a producer whenever it terminates further work due to Throwable being thrown. This method should not throw an exception.

public synchronized void onNewResult (T newResult, boolean isLast)

Called by a producer whenever new data is produced. This method should not throw an exception.

In case when result is closeable resource producer will close it after onNewResult returns. Consumer needs to make copy of it if the resource must be accessed after that. Fortunately, with CloseableReferences, that should not impose too much overhead.

Parameters
isLast true if newResult is the last result

public synchronized void onProgressUpdate (float progress)

Called when the progress updates.

Parameters
progress in range [0, 1]

Protected Methods

protected abstract void onCancellationImpl ()

Called by onCancellation, override this method instead

protected abstract void onFailureImpl (Throwable t)

Called by onFailure, override this method instead

protected abstract void onNewResultImpl (T newResult, boolean isLast)

Called by onNewResult, override this method instead.

protected void onProgressUpdateImpl (float progress)

Called when the progress updates

protected void onUnhandledException (Exception e)

Called whenever onNewResultImpl or onFailureImpl throw an exception