@FunctionalInterface public interface ChangeCallback
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.
AbstractChangeCallback| Modifier and Type | Method and Description |
|---|---|
boolean |
onChange(Change change)
Provides a
change to the callback for processing. |
default void |
onEnd(ChangeSummary summary)
Called after the final
change has been streamed. |
default void |
onStart(ChangeContext context)
Called before the first
change is streamed. |
boolean onChange(@Nonnull Change change) throws IOException
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.
change - the change to processtrue if additional changes should be provided; otherwise, false if the callback has
received as many changes as desiredIOException - may be thrown by implementations which perform I/Odefault void onEnd(@Nonnull ChangeSummary summary) throws IOException
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).
summary - summarizes the request and the streamed changesIOException - may be thrown by implementations which perform I/O.default void onStart(@Nonnull ChangeContext context) throws IOException
change is streamed.context - provides details about the request for which changes are being streamedIOException - may be thrown by implementations which perform I/O.Copyright © 2019 Atlassian. All rights reserved.