@FunctionalInterface public interface

ChangeCallback

com.atlassian.bitbucket.content.ChangeCallback
Known Indirect Subclasses

Class Overview

Describes a callback for receiving streaming changes.

Implementations of this callback performing internal paging may return false from onChange(Change) to indicate no more changes are desired. Such implementations are encouraged to also implement the PagedCallback interface to allow the system to optimise output handling, where possible, based on the page being requested.

Note: Implementors are strongly encouraged to extend from AbstractChangeCallback. This interface will change, over time, and any class implementing it directly will be broken by such changes. Extending from the abstract class will help prevent such breakages.

Summary

Public Methods
boolean onChange(Change change)
Provides a change to the callback for processing.
void onEnd(ChangeSummary summary)
Called after the final change has been streamed.
void onStart(ChangeContext context)
Called before the first change is streamed.

Public Methods

public boolean onChange (Change change)

Provides a change to the callback for processing.

If the callback is performing internal paging, it may signal the end of the page by returning false here. When doing so, onEnd(ChangeSummary) will never receive true for truncation.

Parameters
change the change to process
Returns
  • true if additional changes should be provided; otherwise, false if the callback has received as many changes as desired
Throws
IOException may be thrown by implementations which perform I/O

public void onEnd (ChangeSummary summary)

Called after the final change has been streamed.

Note: If there were no changes, this method may be called immediately after onStart(ChangeContext) without any calls to onChange(Change).

Parameters
summary summarizes the request and the streamed changes
Throws
IOException May be thrown by implementations which perform I/O.

public void onStart (ChangeContext context)

Called before the first change is streamed.

Parameters
context provides details about the request for which changes are being streamed
Throws
IOException May be thrown by implementations which perform I/O.