package org.lobobrowser.html.domimpl; import java.util.ArrayList; import org.lobobrowser.js.HideFromJS; import org.lobobrowser.util.NotImplementedYetException; import org.w3c.dom.DOMException; import org.w3c.dom.Node; public class AnonymousNodeImpl extends NodeImpl { public AnonymousNodeImpl(Node parentNode) { setParentImpl(parentNode); } @Override protected Node createSimilarNode() { throw new NotImplementedYetException(); } @Override public String getLocalName() { return ""; } @Override public String getNodeName() { return ""; } @Override public String getNodeValue() throws DOMException { return null; } @Override public void setNodeValue(String nodeValue) throws DOMException { // nop } @Override public short getNodeType() { return Node.ELEMENT_NODE; } /** Append child without informing the child of the new parent */ @HideFromJS public void appendChildSilently(NodeImpl c) { synchronized (this.treeLock) { ArrayList<Node> nl = this.nodeList; if (nl == null) { nl = new ArrayList<>(3); this.nodeList = nl; } nl.add(c); } } @Override public String toString() { return "Anonymous child of " + getParentNode(); } }