MappingDocumentBuilder.java 文件源码

java
阅读 30 收藏 0 点赞 0 评论 0

项目:timbuctoo 作者:
private Set<Multiset<TriplesMapBuilder>> detectCycles(List<TriplesMapBuilder> triplesMapBuilders,
                                                      Map<String, TriplesMapBuilder> lookup) {
  Set<Multiset<TriplesMapBuilder>> cycles = new HashSet<>();
  topologicalSort(
    triplesMapBuilders,
    lookup,
    ((currentChain, current, dependency) -> {
      ImmutableMultiset.Builder<TriplesMapBuilder> cycleChain = ImmutableMultiset.builder();
      cycleChain.addAll(currentChain);
      if (current == dependency) {
        //self reference
        cycleChain.add(dependency);//make sure the self referencing item is counted twice
      }
      cycles.add(cycleChain.build());
    }),
    e -> {
      //errors are handled in the actual sort and ignored for now
    }
  );
  return cycles;
}
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号