com.hs.gpxparser.extension.DummyExtensionParser Maven / Gradle / Ivy
package com.hs.gpxparser.extension;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import com.hs.gpxparser.GPXConstants;
import com.hs.gpxparser.modal.Extension;
public class DummyExtensionParser implements IExtensionParser {
@Override
public String getId() {
return "Basic Extension Parser";
}
@Override
public Object parseExtensions(Node node) {
// store all nodes under extension in DummyExtensionHolder - if any
if (GPXConstants.NODE_EXTENSIONS.equals(node.getNodeName()) && (node.getChildNodes().getLength() > 0)) {
return new DummyExtensionHolder(node.getChildNodes());
} else {
return null;
}
}
@Override
public void writeExtensions(Extension e, Node node, Document doc) {
if (e.getExtensionData(getId()) != null) {
// add all nodes from DummyExtensionHolder to the document
final DummyExtensionHolder holder = (DummyExtensionHolder) e.getExtensionData(getId());
final NodeList nodes = holder.getNodeList();
// https://stackoverflow.com/questions/5786936/create-xml-document-using-nodelist
for (int i = 0; i < nodes.getLength(); i++) {
final Node extNode = nodes.item(i);
final Node copyNode = doc.importNode(extNode, true);
node.appendChild(copyNode);
}
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy