public interface CommitIndexer
CommitIndexer
implementations must be thread-safe, because the same instance will be used for
multiple indexing operations in parallel. Any state that needs to be stored during an indexing run should be
stored in the provided IndexingContext
.
Note: The same IndexingContext
is shared between all CommitIndexer
s that are enabled for
a given repository. Implementations should be careful of what they store in it and what names they use for
properties they add to manage memory consumption and avoid collisions with other indexers.
Modifier and Type | Method and Description |
---|---|
String |
getId() |
boolean |
isEnabledForRepository(com.atlassian.bitbucket.repository.Repository repository) |
void |
onAfterIndexing(IndexingContext context)
Called after the last commit has been processed to allow the indexer to perform any cleanup it needs.
|
void |
onBeforeIndexing(IndexingContext context)
Called before the first commit is processed to allow the indexer to perform any setup it needs.
|
void |
onCommitAdded(com.atlassian.bitbucket.commit.Commit commit,
IndexingContext context)
Called for each new commit that is added to the repository.
|
void |
onCommitRemoved(com.atlassian.bitbucket.commit.Commit commit,
IndexingContext context)
Called for each existing commit that is removed from the repository.
|
@Nonnull String getId()
boolean isEnabledForRepository(@Nonnull com.atlassian.bitbucket.repository.Repository repository)
repository
- the repositorytrue
if the indexer should index commits for the specified repository
; otherwise,
false
void onAfterIndexing(@Nonnull IndexingContext context)
context
- the indexing contextvoid onBeforeIndexing(@Nonnull IndexingContext context)
context
- the indexing contextvoid onCommitAdded(@Nonnull com.atlassian.bitbucket.commit.Commit commit, @Nonnull IndexingContext context)
Important: This method will only be called once for a commit during an indexing run, but may be called
multiple times for the same commit across different indexing runs. When new CommitIndexer
s are enabled,
all of the commits that have been added since the last time any CommitIndexer
ran will be passed
to all indexers.
commit
- the added commitcontext
- the indexing contextvoid onCommitRemoved(@Nonnull com.atlassian.bitbucket.commit.Commit commit, @Nonnull IndexingContext context)
Important: This method will only be called once for a commit during an indexing run, but may be called
multiple times for the same commit across different indexing runs. When new CommitIndexer
s are enabled,
all of the commits that have been removed since the last time any CommitIndexer
ran will be passed
to all indexers.
commit
- the removed commitcontext
- the indexing contextCopyright © 2024 Atlassian. All rights reserved.