public class AggregationTree extends Object implements GraphTraversable<com.facebook.buck.features.project.intellij.aggregation.AggregationTreeNode>
The tree accepts an arbitrary number of modules each of which is located at a specific location.
The tree can aggregate the modules by merging modules with the same aggregation tag into one module. The aggregation happens at some specific level.
This data structure is based on a prefix tree.
Constructor and Description |
---|
AggregationTree(IjProjectConfig projectConfig,
AggregationModule module) |
Modifier and Type | Method and Description |
---|---|
void |
addModule(Path moduleBasePath,
AggregationModule module) |
void |
aggregateModules(int minimumPathDepth) |
Iterator<com.facebook.buck.features.project.intellij.aggregation.AggregationTreeNode> |
findChildren(com.facebook.buck.features.project.intellij.aggregation.AggregationTreeNode node) |
Collection<AggregationModule> |
getModules() |
public AggregationTree(IjProjectConfig projectConfig, AggregationModule module)
public void addModule(Path moduleBasePath, AggregationModule module)
public Iterator<com.facebook.buck.features.project.intellij.aggregation.AggregationTreeNode> findChildren(com.facebook.buck.features.project.intellij.aggregation.AggregationTreeNode node)
findChildren
in interface GraphTraversable<com.facebook.buck.features.project.intellij.aggregation.AggregationTreeNode>
public void aggregateModules(int minimumPathDepth)
public Collection<AggregationModule> getModules()