Package com.atlassian.bitbucket.scm.bulk
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.
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 TypeMethodDescriptionboolean
onCommit
(Commit commit, Set<Repository> repositories) Receives a commit, and the set of repositories the commit was found in.default void
onEnd
(BulkCommitSummary summary) Called after the finalcommit
has been streamed.default void
onStart
(BulkCommitContext context) Called before the firstcommit
is streamed.
-
Method Details
-
onCommit
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 returnnull
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 invokedonEnd(BulkCommitSummary)
is guaranteed to be invoked, whether the end happens because this method returnsfalse
or because the upstream sender runs out of commits.- Parameters:
commit
- the commitrepositories
- a set containing one or more repositories where the commit was found- Returns:
true
if more commits should be provided; otherwisefalse
to end streaming, potentially leaving some number of commits unread- Throws:
IOException
- for implementations which perform I/O
-
onEnd
Called after the finalcommit
has been streamed.Note: If there were no commits, this method may be called immediately after
onStart(BulkCommitContext)
without any calls toonCommit(Commit, Set)
.- Parameters:
summary
- summarizes the request and the streamed commits- Throws:
IOException
- for implementations which perform I/O
-
onStart
Called before the firstcommit
is streamed.- Parameters:
context
- provides details about the request for which commits are being streamed- Throws:
IOException
- for implementations which perform I/O
-