## org.dom4j.tree
Class DefaultDocument

    java.lang.Object
      org.dom4j.tree.AbstractNode
          org.dom4j.tree.AbstractBranch
              org.dom4j.tree.AbstractDocument
                  org.dom4j.tree.DefaultDocument

All Implemented Interfaces:
  Branch, Cloneable, Document, Node, Serializable

Direct Known Subclasses:
  DOMDocument

public class DefaultDocument
extends AbstractDocument

`DefaultDocument` is the default DOM4J default implementation of an XML document.

Version:
  $Revision: 1.34 $
Author:
  James Strachan
See Also:
  Serialized Form

Field Summary
`protected static Iterator` `EMPTY_ITERATOR`
`protected static List` `EMPTY_LIST`

Fields inherited from class org.dom4j.tree.AbstractDocument
`encoding`

Fields inherited from class org.dom4j.tree.AbstractBranch
`DEFAULT_CONTENT_LIST_SIZE`

Fields inherited from class org.dom4j.tree.AbstractNode
`NODE_TYPE_NAMES`

Fields inherited from interface org.dom4j.Node
`ANY_NODE, ATTRIBUTE_NODE, CDATA_SECTION_NODE, COMMENT_NODE, DOCUMENT_NODE, DOCUMENT_TYPE_NODE, ELEMENT_NODE, ENTITY_REFERENCE_NODE, MAX_NODE_TYPE, NAMESPACE_NODE, PROCESSING_INSTRUCTION_NODE, TEXT_NODE, UNKNOWN_NODE`

Constructor Summary
`DefaultDocument()`
`DefaultDocument(DocumentType docType)`
`DefaultDocument(Element rootElement)`
`DefaultDocument(Element rootElement, DocumentType docType)`
`DefaultDocument(String name)`
`DefaultDocument(String name, Element rootElement, DocumentType docType)`

Method Summary
`Document` `addDocType(String docTypeName, String publicId, String systemId)` Adds a DOCTYPE declaration to this document
`protected void` `addNode(int index, Node node)`
`protected void` `addNode(Node node)`
`void` `clearContent()` Clears the content for this branch, removing any `Node` instances this branch may contain.
`Object` `clone()` `clone` will return a deep clone or if this node is read-only then clone will return the same instance.
`protected List` `contentList()` DOCUMENT ME!
`DocumentType` `getDocType()` DOCUMENT ME!
`protected DocumentFactory` `getDocumentFactory()`
`EntityResolver` `getEntityResolver()` DOCUMENT ME!
`String` `getName()` `getName` returns the name of this node.
`Element` `getRootElement()` Returns the root `Element`for this document.
`String` `getXMLEncoding()` Return the encoding of this document, as part of the XML declaration This is `null` when unspecified or when it is not known (such as when the Document was created in memory) or when the implementation does not support this operation.
`ProcessingInstruction` `processingInstruction(String target)` DOCUMENT ME!
`List` `processingInstructions()` Returns a list of all the processing instructions in this branch.
`List` `processingInstructions(String target)` Returns a list of the processing instructions for the given target.
`protected boolean` `removeNode(Node node)`
`boolean` `removeProcessingInstruction(String target)` Removes the processing instruction for the given target if it exists
`protected void` `rootElementAdded(Element element)` Called to set the root element variable
`void` `setContent(List content)` Sets the contents of this branch as a `List` of `Node` instances.
`void` `setDocType(DocumentType docType)` Sets the DocumentType property
`void` `setDocumentFactory(DocumentFactory documentFactory)`
`void` `setEntityResolver(EntityResolver entityResolver)` Sets the EntityResolver used to find resolve URIs such as for DTDs, or XML Schema documents
`void` `setName(String name)` Sets the text data of this node or this method will throw an `UnsupportedOperationException` if it is read-only.

Methods inherited from class org.dom4j.tree.AbstractDocument
`accept, add, addComment, addElement, addElement, addElement, addProcessingInstruction, addProcessingInstruction, asXML, asXPathResult, checkAddElementAllowed, childAdded, childRemoved, getDocument, getNodeType, getPath, getStringValue, getUniquePath, normalize, remove, setRootElement, setXMLEncoding, toString, write`

Methods inherited from class org.dom4j.tree.AbstractBranch
`add, add, add, addElement, appendContent, content, contentRemoved, createContentList, createContentList, createEmptyList, createResultList, createSingleResultList, elementByID, elementID, getContentAsStringValue, getContentAsText, getText, getTextTrim, hasContent, indexOf, invalidNodeTypeAddException, isReadOnly, node, nodeCount, nodeIterator, remove, remove, remove, setProcessingInstructions`

Methods inherited from class org.dom4j.tree.AbstractNode
`createPattern, createXPath, createXPathFilter, createXPathResult, detach, getNodeTypeName, getParent, getPath, getUniquePath, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setParent, setText, supportsParent, valueOf`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.dom4j.Branch
`add, add, add, appendContent, content, elementByID, indexOf, node, nodeCount, nodeIterator, remove, remove, remove, setProcessingInstructions`

Methods inherited from interface org.dom4j.Node
`createXPath, detach, getNodeTypeName, getParent, getPath, getText, getUniquePath, hasContent, isReadOnly, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setParent, setText, supportsParent, valueOf`

Field Detail

### EMPTY_LIST

    protected static final List EMPTY_LIST

### EMPTY_ITERATOR

    protected static final Iterator EMPTY_ITERATOR

Constructor Detail

### DefaultDocument

    public DefaultDocument()

### DefaultDocument

    public DefaultDocument(String name)

### DefaultDocument

    public DefaultDocument(Element rootElement)

### DefaultDocument

    public DefaultDocument(DocumentType docType)

### DefaultDocument

    public DefaultDocument(Element rootElement,
                           DocumentType docType)

### DefaultDocument

    public DefaultDocument(String name,
                           Element rootElement,
                           DocumentType docType)

Method Detail

### getName

    public String getName()

  Description copied from interface: `Node`

  `getName` returns the name of this node. This is the XML local name of the element, attribute, entity or processing instruction. For CDATA and Text nodes this method will return null.

  Specified by:
    `getName` in interface `Node`
  Overrides:
    `getName` in class `AbstractNode`

### setName

    public void setName(String name)

  Description copied from interface: `Node`

  Sets the text data of this node or this method will throw an `UnsupportedOperationException` if it is read-only.

  Specified by:
    `setName` in interface `Node`
  Overrides:
    `setName` in class `AbstractNode`

### getRootElement

    public Element getRootElement()

  Description copied from interface: `Document`
  Returns the root `Element`for this document.

  Returns:
    the root element for this document

### getDocType

    public DocumentType getDocType()

  Description copied from interface: `Document`
  DOCUMENT ME!

  Returns:
    the DocumentType property

### setDocType

    public void setDocType(DocumentType docType)

  Description copied from interface: `Document`
  Sets the DocumentType property

  Parameters:
    `docType` - DOCUMENT ME!

### addDocType

    public Document addDocType(String docTypeName,
                               String publicId,
                               String systemId)

  Description copied from interface: `Document`
  Adds a DOCTYPE declaration to this document

  Parameters:
    `docTypeName` - is the name of the root element
    `publicId` - is the PUBLIC URI
    `systemId` - is the SYSTEM URI
  Returns:
    this `Document` instance.

### getXMLEncoding

    public String getXMLEncoding()

  Description copied from interface: `Document`
  Return the encoding of this document, as part of the XML declaration This is `null` when unspecified or when it is not known (such as when the Document was created in memory) or when the implementation does not support this operation.

  The way this encoding is retrieved also depends on the way the XML source is parsed. For instance, if the SAXReader is used and if the underlying XMLReader implementation support the `org.xml.sax.ext.Locator2` interface, the result returned by this method is specified by the `getEncoding()` method of that interface.

  Specified by:
    `getXMLEncoding` in interface `Document`
  Overrides:
    `getXMLEncoding` in class `AbstractDocument`

### getEntityResolver

    public EntityResolver getEntityResolver()

  Description copied from interface: `Document`
  DOCUMENT ME!

  Returns:
    the EntityResolver used to find resolve URIs such as for DTDs, or XML Schema documents

### setEntityResolver

    public void setEntityResolver(EntityResolver entityResolver)

  Description copied from interface: `Document`
  Sets the EntityResolver used to find resolve URIs such as for DTDs, or XML Schema documents

  Parameters:
    `entityResolver` - DOCUMENT ME!

### clone

    public Object clone()

  Description copied from interface: `Node`

  `clone` will return a deep clone or if this node is read-only then clone will return the same instance.

  Specified by:
    `clone` in interface `Node`
  Overrides:
    `clone` in class `AbstractNode`

### processingInstructions

    public List processingInstructions()

  Description copied from interface: `Branch`

  Returns a list of all the processing instructions in this branch. The list is backed by this branch so that changes to the list will be reflected in the branch but the reverse is not the case.

  Returns:
    a backed list of the processing instructions

### processingInstructions

    public List processingInstructions(String target)

  Description copied from interface: `Branch`

  Returns a list of the processing instructions for the given target. The list is backed by this branch so that changes to the list will be reflected in the branch but the reverse is not the case.

  Parameters:
    `target` - DOCUMENT ME!
  Returns:
    a backed list of the processing instructions

### processingInstruction

    public ProcessingInstruction processingInstruction(String target)

  Description copied from interface: `Branch`
  DOCUMENT ME!

  Parameters:
    `target` - DOCUMENT ME!
  Returns:
    the processing instruction for the given target

### removeProcessingInstruction

    public boolean removeProcessingInstruction(String target)

  Description copied from interface: `Branch`
  Removes the processing instruction for the given target if it exists

  Parameters:
    `target` - DOCUMENT ME!
  Returns:
    true if a processing instruction was removed else false

### setContent

    public void setContent(List content)

  Description copied from interface: `Branch`
  Sets the contents of this branch as a `List` of `Node` instances.

  Parameters:
    `content` - is the list of nodes to use as the content for this branch.

### clearContent

    public void clearContent()

  Description copied from interface: `Branch`
  Clears the content for this branch, removing any `Node` instances this branch may contain.

### setDocumentFactory

    public void setDocumentFactory(DocumentFactory documentFactory)

### contentList

    protected List contentList()

  Description copied from class: `AbstractBranch`
  DOCUMENT ME!

  Specified by:
    `contentList` in class `AbstractBranch`
  Returns:
    the internal List used to manage the content

### addNode

    protected void addNode(Node node)

  Specified by:
    `addNode` in class `AbstractBranch`

### addNode

    protected void addNode(int index,
                           Node node)

  Specified by:
    `addNode` in class `AbstractBranch`

### removeNode

    protected boolean removeNode(Node node)

  Specified by:
    `removeNode` in class `AbstractBranch`

### rootElementAdded

    protected void rootElementAdded(Element element)

  Description copied from class: `AbstractDocument`
  Called to set the root element variable

  Specified by:
    `rootElementAdded` in class `AbstractDocument`
  Parameters:
    `element` - DOCUMENT ME!

### getDocumentFactory

    protected DocumentFactory getDocumentFactory()

  Overrides:
    `getDocumentFactory` in class `AbstractNode`

Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.