package org.openautonomousconnection.htmlparser.dom; import java.util.ArrayList; import java.util.List; public abstract class DomNode { protected DomNode parent; protected final List children = new ArrayList<>(); public DomNode getParent() { return parent; } public List getChildren() { return children; } public void appendChild(DomNode child) { if (child == null) return; if (child.parent != null) child.parent.children.remove(child); child.parent = this; children.add(child); } public void removeChild(DomNode child) { if (child == null) return; if (children.remove(child)) child.parent = null; } public abstract String nodeName(); }