@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 © 2022 Atlassian. All rights reserved.