ProjectAres/PGM/src/main/java/tc/oc/pgm/controlpoint/ControlPointRootNodeFinder....

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);
}
}