Open Source Repository

Home /hibernate/hibernate-3.2.4.ga | Repository Home


org/hibernate/tuple/ElementWrapper.java
// $Id: ElementWrapper.java 6601 2005-04-29 03:06:37Z oneovthafew $
package org.hibernate.tuple;

import java.io.IOException;
import java.io.Serializable;
import java.io.Writer;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.dom4j.Attribute;
import org.dom4j.Branch;
import org.dom4j.CDATA;
import org.dom4j.Comment;
import org.dom4j.Document;
import org.dom4j.Element;
import org.dom4j.Entity;
import org.dom4j.InvalidXPathException;
import org.dom4j.Namespace;
import org.dom4j.Node;
import org.dom4j.ProcessingInstruction;
import org.dom4j.QName;
import org.dom4j.Text;
import org.dom4j.Visitor;
import org.dom4j.XPath;

/**
 * Wraps dom4j elements, allowing them to exist in a 
 * non-hierarchical structure.
 *
 @author Gavin King
 */
public class ElementWrapper implements Element, Serializable {

  private Element element;
  private Element parent;
  
  public Element getElement() {
    return element;
  }

  public ElementWrapper(Element element) {
    this.element = element;
  }

  public QName getQName() {
    return element.getQName();
  }

  public QName getQName(String s) {
    return element.getQName);
  }

  public void setQName(QName qName) {
    element.setQNameqName );
  }

  public Namespace getNamespace() {
    return element.getNamespace();
  }

  public Namespace getNamespaceForPrefix(String s) {
    return element.getNamespaceForPrefix);
  }

  public Namespace getNamespaceForURI(String s) {
    return element.getNamespaceForURI);
  }

  public List getNamespacesForURI(String s) {
    return element.getNamespacesForURI);
  }

  public String getNamespacePrefix() {
    return element.getNamespacePrefix();
  }

  public String getNamespaceURI() {
    return element.getNamespaceURI();
  }

  public String getQualifiedName() {
    return element.getQualifiedName();
  }

  public List additionalNamespaces() {
    return element.additionalNamespaces();
  }

  public List declaredNamespaces() {
    return element.declaredNamespaces();
  }

  public Element addAttribute(String attrName, String text) {
    return element.addAttributeattrName, text );
  }

  public Element addAttribute(QName attrName, String text) {
    return element.addAttributeattrName, text );
  }

  public Element addComment(String text) {
    return element.addCommenttext );
  }

  public Element addCDATA(String text) {
    return element.addCDATAtext );
  }

  public Element addEntity(String name, String text) {
    return element.addEntityname, text );
  }

  public Element addNamespace(String prefix, String uri) {
    return element.addNamespaceprefix, uri );
  }

  public Element addProcessingInstruction(String target, String text) {
    return element.addProcessingInstructiontarget, text );
  }

  public Element addProcessingInstruction(String target, Map data) {
    return element.addProcessingInstructiontarget, data );
  }

  public Element addText(String text) {
    return element.addTexttext );
  }

  public void add(Attribute attribute) {
    element.addattribute );
  }

  public void add(CDATA cdata) {
    element.addcdata );
  }

  public void add(Entity entity) {
    element.addentity );
  }

  public void add(Text text) {
    element.addtext );
  }

  public void add(Namespace namespace) {
    element.addnamespace );
  }

  public boolean remove(Attribute attribute) {
    return element.removeattribute );
  }

  public boolean remove(CDATA cdata) {
    return element.removecdata );
  }

  public boolean remove(Entity entity) {
    return element.removeentity );
  }

  public boolean remove(Namespace namespace) {
    return element.removenamespace );
  }

  public boolean remove(Text text) {
    return element.removetext );
  }

  public boolean supportsParent() {
    return element.supportsParent();
  }

  public Element getParent() {
    return parent==null ? element.getParent() : parent;
  }

  public void setParent(Element parent) {
    element.setParentparent );
    this.parent = parent;
  }

  public Document getDocument() {
    return element.getDocument();
  }

  public void setDocument(Document document) {
    element.setDocumentdocument );
  }

  public boolean isReadOnly() {
    return element.isReadOnly();
  }

  public boolean hasContent() {
    return element.hasContent();
  }

  public String getName() {
    return element.getName();
  }

  public void setName(String name) {
    element.setNamename );
  }

  public String getText() {
    return element.getText();
  }

  public void setText(String text) {
    element.setTexttext );
  }

  public String getTextTrim() {
    return element.getTextTrim();
  }

  public String getStringValue() {
    return element.getStringValue();
  }

  public String getPath() {
    return element.getPath();
  }

  public String getPath(Element element) {
    return element.getPathelement );
  }

  public String getUniquePath() {
    return element.getUniquePath();
  }

  public String getUniquePath(Element element) {
    return element.getUniquePathelement );
  }

  public String asXML() {
    return element.asXML();
  }

  public void write(Writer writerthrows IOException {
    element.writewriter );
  }

  public short getNodeType() {
    return element.getNodeType();
  }

  public String getNodeTypeName() {
    return element.getNodeTypeName();
  }

  public Node detach() {
    if (parent!=null) {
      parent.remove(this);
      parent = null;
    }
    return element.detach();
  }

  public List selectNodes(String xpath) {
    return element.selectNodesxpath );
  }

  public Object selectObject(String xpath) {
    return element.selectObjectxpath );
  }

  public List selectNodes(String xpath, String comparison) {
    return element.selectNodesxpath, comparison );
  }

  public List selectNodes(String xpath, String comparison, boolean removeDups) {
    return element.selectNodesxpath, comparison, removeDups );
  }

  public Node selectSingleNode(String xpath) {
        return element.selectSingleNodexpath );
  }

  public String valueOf(String xpath) {
    return element.valueOfxpath );
  }

  public Number numberValueOf(String xpath) {
    return element.numberValueOfxpath );
  }

  public boolean matches(String xpath) {
    return element.matchesxpath );
  }

  public XPath createXPath(String xpaththrows InvalidXPathException {
    return element.createXPathxpath );
  }

  public Node asXPathResult(Element element) {
    return element.asXPathResultelement );
  }

  public void accept(Visitor visitor) {
    element.acceptvisitor );
  }

  public Object clone() {
    return element.clone();
  }

  public Object getData() {
    return element.getData();
  }

  public void setData(Object data) {
    element.setDatadata );
  }

  public List attributes() {
    return element.attributes();
  }

  public void setAttributes(List list) {
    element.setAttributeslist );
  }

  public int attributeCount() {
    return element.attributeCount();
  }

  public Iterator attributeIterator() {
    return element.attributeIterator();
  }

  public Attribute attribute(int i) {
    return element.attribute);
  }

  public Attribute attribute(String name) {
    return element.attributename );
  }

  public Attribute attribute(QName qName) {
    return element.attributeqName );
  }

  public String attributeValue(String name) {
    return element.attributeValuename );
  }

  public String attributeValue(String name, String defaultValue) {
    return element.attributeValuename, defaultValue );
  }

  public String attributeValue(QName qName) {
    return element.attributeValueqName );
  }

  public String attributeValue(QName qName, String defaultValue) {
    return element.attributeValueqName, defaultValue );
  }

  /**
   @deprecated
   */
  public void setAttributeValue(String name, String value) {
    element.setAttributeValuename, value );
  }

  /**
   @deprecated
   */
  public void setAttributeValue(QName qName, String value) {
    element.setAttributeValueqName, value );
  }

  public Element element(String name) {
    return element.elementname );
  }

  public Element element(QName qName) {
    return element.elementqName );
  }

  public List elements() {
    return element.elements();
  }

  public List elements(String name) {
    return element.elementsname );
  }

  public List elements(QName qName) {
    return element.elementsqName );
  }

  public Iterator elementIterator() {
    return element.elementIterator();
  }

  public Iterator elementIterator(String name) {
    return element.elementIteratorname );

  }

  public Iterator elementIterator(QName qName) {
    return element.elementIteratorqName );
  }

  public boolean isRootElement() {
    return element.isRootElement();
  }

  public boolean hasMixedContent() {
    return element.hasMixedContent();
  }

  public boolean isTextOnly() {
    return element.isTextOnly();
  }

  public void appendAttributes(Element element) {
    element.appendAttributeselement );
  }

  public Element createCopy() {
    return element.createCopy();
  }

  public Element createCopy(String name) {
    return element.createCopyname );
  }

  public Element createCopy(QName qName) {
    return element.createCopyqName );
  }

  public String elementText(String name) {
    return element.elementTextname );
  }

  public String elementText(QName qName) {
    return element.elementTextqName );
  }

  public String elementTextTrim(String name) {
    return element.elementTextTrimname );
  }

  public String elementTextTrim(QName qName) {
    return element.elementTextTrimqName );
  }

  public Node getXPathResult(int i) {
    return element.getXPathResult);
  }

  public Node node(int i) {
    return element.node);
  }

  public int indexOf(Node node) {
    return element.indexOfnode );
  }

  public int nodeCount() {
    return element.nodeCount();
  }

  public Element elementByID(String id) {
    return element.elementByIDid );
  }

  public List content() {
    return element.content();
  }

  public Iterator nodeIterator() {
    return element.nodeIterator();
  }

  public void setContent(List list) {
    element.setContentlist );
  }

  public void appendContent(Branch branch) {
    element.appendContentbranch );
  }

  public void clearContent() {
    element.clearContent();
  }

  public List processingInstructions() {
    return element.processingInstructions();
  }

  public List processingInstructions(String name) {
    return element.processingInstructionsname );
  }

  public ProcessingInstruction processingInstruction(String name) {
    return element.processingInstructionname );
  }

  public void setProcessingInstructions(List list) {
    element.setProcessingInstructionslist );
  }

  public Element addElement(String name) {
    return element.addElementname );
  }

  public Element addElement(QName qName) {
    return element.addElementqName );
  }

  public Element addElement(String name, String text) {
    return element.addElementname, text );

  }

  public boolean removeProcessingInstruction(String name) {
    return element.removeProcessingInstructionname );
  }

  public void add(Node node) {
    element.addnode );
  }

  public void add(Comment comment) {
    element.addcomment );
  }

  public void add(Element element) {
    element.addelement );
  }

  public void add(ProcessingInstruction processingInstruction) {
    element.addprocessingInstruction );
  }

  public boolean remove(Node node) {
    return element.removenode );
  }

  public boolean remove(Comment comment) {
    return element.removecomment );
  }

  public boolean remove(Element element) {
    return element.removeelement );
  }

  public boolean remove(ProcessingInstruction processingInstruction) {
    return element.removeprocessingInstruction );
  }

  public void normalize() {
    element.normalize();
  }
  
  public boolean equals(Object other) {
    return element.equals(other);
  }
  
  public int hashCode() {
    return element.hashCode();
  }
  
  public String toString() {
    return element.toString();
  }

}