Interface BulkCommitCallback

Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface public interface BulkCommitCallback
Describes a callback for receiving a stream of commits, each with a set listing one or more repositories where it was found.
Since:
5.8
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    onCommit(Commit commit, Set<Repository> repositories)
    Receives a commit, and the set of repositories the commit was found in.
    default void
    Called after the final commit has been streamed.
    default void
    Called before the first commit is streamed.
  • Method Details

    • onCommit

      boolean onCommit(@Nonnull Commit commit, @Nonnull Set<Repository> repositories) throws IOException
      Receives a commit, and the set of repositories the commit was found in.

      Because the Commit may be found in multiple repositories, Commit.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
    • onEnd

      default void onEnd(@Nonnull BulkCommitSummary summary) throws IOException
      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
    • onStart

      default void onStart(@Nonnull BulkCommitContext context) throws IOException
      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