package moulder.moulds.helpers; import moulder.Moulder; import org.jsoup.nodes.Element; import org.jsoup.nodes.Node; import java.util.ArrayList; import java.util.Collection; import java.util.List; public class MouldersApplier { public static Collection<Node> applyMoulder(Moulder moulder, Collection<Node> nodes) { List<Node> res = new ArrayList<Node>(); for(Node node: nodes) { if(node instanceof Element) { res.addAll(moulder.process((Element) node)); } else { res.add(node); } } return res; } public static Collection<Node> applyMoulders(Collection<Moulder> moulders, Collection<Node> nodes) { if(moulders.isEmpty()) { return nodes; } else { Collection<Node> workingSet = new ArrayList<Node>(nodes); for(Moulder moulder: moulders) { workingSet = applyMoulder(moulder, workingSet); } return workingSet; } } }