Package org.revapi
Interface ArchiveAnalyzer<E extends Element<E>>
-
- All Known Implementing Classes:
BaseArchiveAnalyzer
,BaseEagerLoadingArchiveAnalyzer
,ZipArchiveAnalyzer
public interface ArchiveAnalyzer<E extends Element<E>>
The instances of implementations of this interface are produced by theApiAnalyzer
s to analyze the API archives and create an element tree that is then used for API comparison.- Since:
- 0.1
- Author:
- Lukas Krejci
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description ElementForest<E>
analyze(TreeFilter<E> filter)
Analyzes the API archives and filters the forest using the provided filter.API
getApi()
ApiAnalyzer<E>
getApiAnalyzer()
void
prune(ElementForest<E> forest)
Once all the filtering on the element forest is done, the analyzer is allowed one final "pass" through the forest to remove any elements that should not be there any longer.
-
-
-
Method Detail
-
getApiAnalyzer
ApiAnalyzer<E> getApiAnalyzer()
- Returns:
- the
ApiAnalyzer
that created this instance
-
getApi
API getApi()
- Returns:
- the API that this analyzer analyzes
-
analyze
ElementForest<E> analyze(TreeFilter<E> filter)
Analyzes the API archives and filters the forest using the provided filter.This produces a preliminary forest which can be too "wide" because of
Ternary.UNDECIDED
elements or non-local relationships between elements. Once this method returns the preliminary forest, the callers should also call theprune(ElementForest)
method to obtain a forest that is truly minimal.- Parameters:
filter
- the filter to use to filter out unwanted elements from the forest- Returns:
- the preliminary element forest that should be
pruned
before analysis
-
prune
void prune(ElementForest<E> forest)
Once all the filtering on the element forest is done, the analyzer is allowed one final "pass" through the forest to remove any elements that should not be there any longer.- Parameters:
forest
- the forest to prune
-
-