示例#1
0
 public Set<HierarchyNode> getDependenciesFor(HierarchyNode node) {
   Validate.notNull(node, "Hierarchy node can't be null");
   Set<File> nodeDependencies = node.getDependencies();
   Set<HierarchyNode> dependencies = new LinkedHashSet<HierarchyNode>(nodeDependencies.size());
   for (File f : nodeDependencies) {
     dependencies.add(nodes.get(f));
   }
   return dependencies;
 }
示例#2
0
 public Set<HierarchyNode> getParentsFor(HierarchyNode node) {
   Validate.notNull(node, "Hierarchy node can't be null");
   Set<HierarchyNode> parents = new LinkedHashSet<HierarchyNode>();
   for (HierarchyNode n : nodes.values()) {
     if (n.getDependencies().contains(node.getFile())) {
       parents.add(n);
     }
   }
   return parents;
 }
示例#3
0
 private void initNodes() {
   Collection<HierarchyNode> allNodes = nodes.values();
   topLevelNodes = new LinkedHashSet<HierarchyNode>(allNodes);
   bottomLevelNodes = new LinkedHashSet<HierarchyNode>();
   for (HierarchyNode n : allNodes) {
     if (!n.hasDependencies()) {
       bottomLevelNodes.add(n);
     }
     for (File f : n.getDependencies()) {
       topLevelNodes.remove(nodes.get(f));
     }
   }
 }