@SuppressWarnings("unchecked") private static <T extends ContentHandler> List<DependencySpec> buildDependencyMap(List<ContentHandlerConfigMap<T>> visitors) { List<DependencySpec> dependancySpecs = new ArrayList<DependencySpec>(); for(ContentHandlerConfigMap<T> visitor : visitors) { dependancySpecs.add(new DependencySpec(visitor)); } for(DependencySpec outer : dependancySpecs) { if(outer.visitor.getContentHandler() instanceof Producer) { Set<?> outerProducts = ((Producer) outer.visitor.getContentHandler()).getProducts(); for(DependencySpec inner : dependancySpecs) { if(inner != outer && inner.visitor.getContentHandler() instanceof Consumer) { Consumer innerConsumer = (Consumer) inner.visitor.getContentHandler(); for(Object product : outerProducts) { if(innerConsumer.consumes(product)) { outer.dependants.add(inner); } } } } } } return dependancySpecs; }
protected static <T extends ContentHandler> List<DependencySpec> buildDependencyMap(List<ContentHandlerConfigMap<T>> visitors) { List<DependencySpec> dependancySpecs = new ArrayList<DependencySpec>(); for(ContentHandlerConfigMap<T> visitor : visitors) { dependancySpecs.add(new DependencySpec(visitor)); } for(DependencySpec outer : dependancySpecs) { if(outer.visitor.getContentHandler() instanceof Producer) { Set<? extends Object> outerProducts = ((Producer) outer.visitor.getContentHandler()).getProducts(); for(DependencySpec inner : dependancySpecs) { if(inner != outer && inner.visitor.getContentHandler() instanceof Consumer) { Consumer innerConsumer = (Consumer) inner.visitor.getContentHandler(); for(Object product : outerProducts) { if(innerConsumer.consumes(product)) { outer.dependants.add(inner); } } } } } } return dependancySpecs; }
@SuppressWarnings("unchecked") private static <T extends ContentHandler> List<DependencySpec> buildDependencyMap(List<ContentHandlerConfigMap<T>> visitors) { List<DependencySpec> dependancySpecs = new ArrayList<DependencySpec>(); for(ContentHandlerConfigMap<T> visitor : visitors) { dependancySpecs.add(new DependencySpec(visitor)); } for(DependencySpec outer : dependancySpecs) { if(outer.visitor.getContentHandler() instanceof Producer) { Set<?> outerProducts = ((Producer) outer.visitor.getContentHandler()).getProducts(); for(DependencySpec inner : dependancySpecs) { if(inner != outer && inner.visitor.getContentHandler() instanceof Consumer) { Consumer innerConsumer = (Consumer) inner.visitor.getContentHandler(); for(Object product : outerProducts) { if(innerConsumer.consumes(product)) { outer.dependants.add(inner); } } } } } } return dependancySpecs; }
@SuppressWarnings("unchecked") private static <T extends ContentHandler> List<DependencySpec> buildDependencyMap(List<ContentHandlerConfigMap<T>> visitors) { List<DependencySpec> dependancySpecs = new ArrayList<DependencySpec>(); for(ContentHandlerConfigMap<T> visitor : visitors) { dependancySpecs.add(new DependencySpec(visitor)); } for(DependencySpec outer : dependancySpecs) { if(outer.visitor.getContentHandler() instanceof Producer) { Set<?> outerProducts = ((Producer) outer.visitor.getContentHandler()).getProducts(); for(DependencySpec inner : dependancySpecs) { if(inner != outer && inner.visitor.getContentHandler() instanceof Consumer) { Consumer innerConsumer = (Consumer) inner.visitor.getContentHandler(); for(Object product : outerProducts) { if(innerConsumer.consumes(product)) { outer.dependants.add(inner); } } } } } } return dependancySpecs; }