Class CompositeAnalysisStrategy
java.lang.Object
org.variantsync.diffdetective.analysis.strategies.AnalysisStrategy
org.variantsync.diffdetective.analysis.strategies.CompositeAnalysisStrategy
Composite pattern for AnalysisStrategy.
Composes multiple AnalysisStrategies as one.
- Author:
- Paul Bittner
-
Field Summary
Fields inherited from class org.variantsync.diffdetective.analysis.strategies.AnalysisStrategy
outputPath, repo
-
Constructor Summary
ConstructorDescriptionCompositeAnalysisStrategy
(AnalysisStrategy... strategies) Creates a composite strategy for all given strategies. -
Method Summary
Modifier and TypeMethodDescriptionvoid
end()
Invoked when the analysis is done for the current repository.onCommit
(CommitDiff commit) Invoked before a commit is analyzed.void
start
(Repository repo, Path outputPath) Invoked when the analysis starts.
-
Field Details
-
strategies
-
-
Constructor Details
-
CompositeAnalysisStrategy
Creates a composite strategy for all given strategies. The resulting strategy will forward any callbacks to the given strategies in the order they are given.- Parameters:
strategies
- Strategies to compose.
-
-
Method Details
-
start
Description copied from class:AnalysisStrategy
Invoked when the analysis starts.- Overrides:
start
in classAnalysisStrategy
- Parameters:
repo
- The repository on which an analysis is performed.outputPath
- A directory to which output should be written.
-
onCommit
Description copied from class:AnalysisStrategy
Invoked before a commit is analyzed. The returned line graph export destination is closed after processing the commit given bycommit
.- Specified by:
onCommit
in classAnalysisStrategy
- Parameters:
commit
- The commit that was just processed.- Returns:
- the line graph export destination
-
end
public void end()Description copied from class:AnalysisStrategy
Invoked when the analysis is done for the current repository. The analysis might restart with another repository. In this case,AnalysisStrategy.start(org.variantsync.diffdetective.datasets.Repository, java.nio.file.Path)
is invoked again.- Specified by:
end
in classAnalysisStrategy
-