23 lines
737 B
Java
23 lines
737 B
Java
package tc.oc.pgm.controlpoint;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
import java.util.stream.Stream;
|
|
|
|
import org.jdom2.Element;
|
|
import tc.oc.pgm.utils.XMLUtils;
|
|
import tc.oc.pgm.xml.Node;
|
|
import tc.oc.pgm.xml.finder.NodeFinder;
|
|
|
|
class ControlPointRootNodeFinder implements NodeFinder {
|
|
@Override
|
|
public Stream<Node> findNodes(Element parent, String name) {
|
|
final List<Element> elements = new ArrayList<>();
|
|
elements.addAll(XMLUtils.flattenElements(parent, "control-points", "control-point"));
|
|
for(Element kingEl : parent.getChildren("king")) {
|
|
elements.addAll(XMLUtils.flattenElements(kingEl, "hills", "hill"));
|
|
}
|
|
return elements.stream().map(Node::of);
|
|
}
|
|
}
|