// Path: htmlview2/src/main/java/org/kobjects/dom/Document.java
// public interface Document extends Node {
//   Element createElement(String name);
//   Text createTextNode(String text);
// 
//   Element getDocumentElement();
// }
// 
// Path: htmlview2/src/main/java/org/kobjects/dom/Element.java
// public interface Element extends Node {
//   String getLocalName();
//   void setAttribute(String name, String value);
//   String getAttribute(String name);
// 
//   Element getFirstElementChild();
//   Element getLastElementChild();
//   Element getNextElementSibling();
//   Element getPreviousElementSibling();
// 
//   CSSStyleDeclaration getStyle();
//   CSSStyleDeclaration getComputedStyle();
// }
// 
// Path: htmlview2/src/main/java/org/kobjects/dom/Node.java
// public interface Node {
//   Node getParentNode();
//   Element getParentElement();
//   Document getOwnerDocument();
// 
//   Node getFirstChild();
//   Node getLastChild();
//   Node getNextSibling();
//   Node getPreviousSibling();
// 
//   Node appendChild(Node node);
// 
//   String getTextContent();
// }


import org.kobjects.dom.Document;
import org.kobjects.dom.Element;
import org.kobjects.dom.Node;
package org.kobjects.htmlview2;



class Hv2DomDocument extends Hv2DomContainer implements Document {
    protected final HtmlView htmlContext;

    protected Hv2DomDocument(HtmlView context) {
        super(null, ComponentType.PHYSICAL_CONTAINER);
        this.htmlContext = context;
    }

    public Hv2DomElement createElement(String name) {
        return new Hv2DomElement(this, name, null);
    }

    @Override
    public Hv2DomText createTextNode(String text) {
        return new Hv2DomText(this, text);
    }

    @Override
    public Element getDocumentElement() {
// Path: htmlview2/src/main/java/org/kobjects/dom/Document.java
// public interface Document extends Node {
//   Element createElement(String name);
//   Text createTextNode(String text);
// 
//   Element getDocumentElement();
// }
// 
// Path: htmlview2/src/main/java/org/kobjects/dom/Element.java
// public interface Element extends Node {
//   String getLocalName();
//   void setAttribute(String name, String value);
//   String getAttribute(String name);
// 
//   Element getFirstElementChild();
//   Element getLastElementChild();
//   Element getNextElementSibling();
//   Element getPreviousElementSibling();
// 
//   CSSStyleDeclaration getStyle();
//   CSSStyleDeclaration getComputedStyle();
// }
// 
// Path: htmlview2/src/main/java/org/kobjects/dom/Node.java
// public interface Node {
//   Node getParentNode();
//   Element getParentElement();
//   Document getOwnerDocument();
// 
//   Node getFirstChild();
//   Node getLastChild();
//   Node getNextSibling();
//   Node getPreviousSibling();
// 
//   Node appendChild(Node node);
// 
//   String getTextContent();
// }


// Path: htmlview2/src/main/java/org/kobjects/htmlview2/Hv2DomDocument.java
import org.kobjects.dom.Document;
import org.kobjects.dom.Element;
import org.kobjects.dom.Node;

package org.kobjects.htmlview2;



class Hv2DomDocument extends Hv2DomContainer implements Document {
    protected final HtmlView htmlContext;

    protected Hv2DomDocument(HtmlView context) {
        super(null, ComponentType.PHYSICAL_CONTAINER);
        this.htmlContext = context;
    }

    public Hv2DomElement createElement(String name) {
        return new Hv2DomElement(this, name, null);
    }

    @Override
    public Hv2DomText createTextNode(String text) {
        return new Hv2DomText(this, text);
    }

    @Override
    public Element getDocumentElement() {
        Node result = getFirstChild();