@FunctionalInterface public interface

BulkCommitCallback

com.atlassian.bitbucket.scm.bulk.BulkCommitCallback

Class Overview

Describes a callback for receiving a stream of commits, each with a set listing one or more repositories where it was found.

Summary

Public Methods
boolean onCommit(Commit commit, Set<Repository> repositories)
Receives a commit, and the set of repositories the commit was found in.
void onEnd(BulkCommitSummary summary)
Called after the final commit has been streamed.
void onStart(BulkCommitContext context)
Called before the first commit is streamed.

Public Methods

public boolean onCommit (Commit commit, Set<Repository> repositories)

Receives a commit, and the set of repositories the commit was found in.

Because the Commit may be found in multiple repositories, getRepository() will always return null on the provided commit. To know which repository, or repositories, the commit was actually present in, use the accompanying set.

This method will never be invoked before onStart(BulkCommitContext), and if it is invoked onEnd(BulkCommitSummary) is guaranteed to be invoked, whether the end happens because this method returns false or because the upstream sender runs out of commits.

Parameters
commit the commit
repositories a set containing one or more repositories where the commit was found
Returns
  • true if more commits should be provided; otherwise false to end streaming, potentially leaving some number of commits unread
Throws
IOException for implementations which perform I/O

public void onEnd (BulkCommitSummary summary)

Called after the final commit has been streamed.

Note: If there were no commits, this method may be called immediately after onStart(BulkCommitContext) without any calls to onCommit(Commit, Set).

Parameters
summary summarizes the request and the streamed commits
Throws
IOException for implementations which perform I/O

public void onStart (BulkCommitContext context)

Called before the first commit is streamed.

Parameters
context provides details about the request for which commits are being streamed
Throws
IOException for implementations which perform I/O