public class Document extends java.lang.Object implements Parent
DocType and other document-level information.| Modifier and Type | Field and Description | 
|---|---|
| protected java.lang.String | baseURISee http://www.w3.org/TR/2003/WD-DOM-Level-3-Core-20030226/core.html#baseURIs-Considerations | 
| Constructor and Description | 
|---|
| Document()Creates a new empty document. | 
| Document(Element rootElement) | 
| Document(Element rootElement,
        DocType docType) | 
| Document(Element rootElement,
        DocType docType,
        java.lang.String baseURI) | 
| Document(java.util.List<? extends Content> content)This will create a new  Document,
 with the supplied list of content, and adeclaration only if the content
 contains a DocType instance. | 
| Modifier and Type | Method and Description | 
|---|---|
| Document | addContent(java.util.Collection<? extends Content> c)Appends all children in the given collection to the end of
 the content list. | 
| Document | addContent(Content child)Appends the child to the end of the content list. | 
| Document | addContent(int index,
          java.util.Collection<? extends Content> c)Inserts the content in a collection into the content list
 at the given index. | 
| Document | addContent(int index,
          Content child)Inserts the child into the content list at the given index. | 
| void | canContainContent(Content child,
                 int index,
                 boolean replace)Test whether this Parent instance can contain the specified content
 at the specified position. | 
| Document | clone()This will return a deep clone of this  Document. | 
| java.util.List<Content> | cloneContent()Returns a list containing detached clones of this parent's content list. | 
| Element | detachRootElement()Detach the root  from this document. | 
| boolean | equals(java.lang.Object ob)This tests for equality of this  Documentto the suppliedObject. | 
| java.lang.String | getBaseURI()
   Returns the URI from which this document was loaded,
   or null if this is not known. | 
| java.util.List<Content> | getContent()This will return all content for the  Document. | 
| <F extends Content> | getContent(Filter<F> filter)Return a filtered view of this  Document's content. | 
| Content | getContent(int index)Returns the child at the given index. | 
| int | getContentSize()Returns the number of children in this parent's content list. | 
| IteratorIterable<Content> | getDescendants()Returns an iterator that walks over all descendants in document order. | 
| <F extends Content> | getDescendants(Filter<F> filter)Returns an iterator that walks over all descendants in document order
 applying the Filter to return only elements that match the filter rule. | 
| DocType | getDocType() | 
| Document | getDocument()Always returns this Document Instance | 
| java.util.List<Namespace> | getNamespacesInherited()Obtain a list of all namespaces that are in scope for this content, but
 were not introduced by this content. | 
| java.util.List<Namespace> | getNamespacesInScope()Get the Namespaces that are in-scope on this Document. | 
| java.util.List<Namespace> | getNamespacesIntroduced()Obtain a list of all namespaces that are introduced to the XML tree by
 this node. | 
| Parent | getParent()Always returns null, Document cannot have a parent. | 
| java.lang.Object | getProperty(java.lang.String id)Returns the object associated with this document under the given "id"
 string, or null if there is no binding or if the binding explicitly
 stored a null value. | 
| Element | getRootElement()This will return the root  Elementfor thisDocument | 
| int | hashCode()This returns the hash code for this  Document. | 
| boolean | hasRootElement()This will return  trueif this document has a
 root element,falseotherwise. | 
| int | indexOf(Content child)Returns the index of the supplied child in the content list,
 or -1 if not a child of this parent. | 
| java.util.List<Content> | removeContent()Removes all child content from this parent. | 
| boolean | removeContent(Content child)Removes a single child node from the content list. | 
| <F extends Content> | removeContent(Filter<F> filter)Remove all child content from this parent matching the supplied filter. | 
| Content | removeContent(int index)Removes and returns the child at the given
 index, or returns null if there's no such child. | 
| void | setBaseURI(java.lang.String uri)
 Sets the effective URI from which this document was loaded,
 and against which relative URLs in this document will be resolved. | 
| Document | setContent(java.util.Collection<? extends Content> newContent)This sets the content of the  Document. | 
| Document | setContent(Content child)Set this document's content to be the supplied child. | 
| Document | setContent(int index,
          java.util.Collection<? extends Content> collection)Replace the child at the given index with the supplied
 collection. | 
| Document | setContent(int index,
          Content child)Replace the current child the given index with the supplied child. | 
| Document | setDocType(DocType docType)This will set the  declaration for thisDocument. | 
| void | setProperty(java.lang.String id,
           java.lang.Object value)Assigns an arbitrary object to be associated with this document under
 the given "id" string. | 
| Document | setRootElement(Element rootElement)This sets the root  for theDocument. | 
| java.lang.String | toString()This returns a  Stringrepresentation of theDocument, suitable for debugging. | 
protected java.lang.String baseURI
public Document()
public Document(Element rootElement, DocType docType, java.lang.String baseURI)
Document,
 with the supplied ElementDocTyperootElement - Element for document root.docType - DocType declaration.baseURI - the URI from which this document was loaded.IllegalAddException - if the given docType object
         is already attached to a document or the given
         rootElement already has a parentpublic Document(Element rootElement, DocType docType)
Document,
 with the supplied ElementDocTyperootElement - Element for document root.docType - DocType declaration.IllegalAddException - if the given DocType object
         is already attached to a document or the given
         rootElement already has a parentpublic Document(Element rootElement)
Document,
 with the supplied ElementDocTyperootElement - Element for document rootIllegalAddException - if the given rootElement already has
         a parent.public Document(java.util.List<? extends Content> content)
Document,
 with the supplied list of content, and a
 DocTypecontent - List of starter contentIllegalAddException - if the List contains more than
         one Element or objects of illegal types.public int getContentSize()
ParentContent type.getContentSize in interface Parentpublic int indexOf(Content child)
Parentpublic boolean hasRootElement()
true if this document has a
 root element, false otherwise.true if this document has a root element,
         false otherwise.public Element getRootElement()
Element
 for this DocumentElement - the document's root elementjava.lang.IllegalStateException - if the root element hasn't been setpublic Document setRootElement(Element rootElement)
ElementDocument. If the document already has a root
 element, it is replaced.rootElement - Element to be new root.Document - modified Document.IllegalAddException - if the given rootElement already has
         a parent.public Element detachRootElement()
ElementElementpublic DocType getDocType()
DocType - the DOCTYPE declaration.public Document setDocType(DocType docType)
DocTypeDocument. Note
 that a DocType can only be attached to one Document.
 Attempting to set the DocType to a DocType object
 that already belongs to a Document will result in an
 IllegalAddException being thrown.docType - DocType declaration.IllegalAddException - if the given docType is
   already attached to a Document.public Document addContent(Content child)
addContent in interface Parentchild - child to append to end of content listIllegalAddException - if the given child already has a parent.public Document addContent(java.util.Collection<? extends Content> c)
addContent in interface Parentc - collection to appendIllegalAddException - if any item in the collection
         already has a parent or is of an illegal type.public Document addContent(int index, Content child)
addContent in interface Parentindex - location for adding the collectionchild - child to insertjava.lang.IndexOutOfBoundsException - if index is negative or beyond
         the current number of childrenIllegalAddException - if the given child already has a parent.public Document addContent(int index, java.util.Collection<? extends Content> c)
addContent in interface Parentindex - location for adding the collectionc - collection to insertjava.lang.IndexOutOfBoundsException - if index is negative or beyond
         the current number of childrenIllegalAddException - if any item in the collection
         already has a parent or is of an illegal type.public java.util.List<Content> cloneContent()
ParentcloneContent in interface Parentpublic Content getContent(int index)
ParentgetContent in interface Parentindex - location of desired childpublic java.util.List<Content> getContent()
Document.
 The returned list is "live" in document order and changes to it
 affect the document's actual content.
 Sequential traversal through the List is best done with a Iterator since the underlying implement of List.size() may require walking the entire list.
getContent in interface ParentList - all Document contentjava.lang.IllegalStateException - if the root element hasn't been setpublic <F extends Content> java.util.List<F> getContent(Filter<F> filter)
Document's content.
 Sequential traversal through the List is best done with a Iterator since the underlying implement of List.size() may require walking the entire list.
getContent in interface ParentF - The Generic type of the returned content (the Filter's type)filter - Filter to apply
        Note that the Filters class has a number of predefined, useful
        filters.List - filtered Document contentjava.lang.IllegalStateException - if the root element hasn't been setpublic java.util.List<Content> removeContent()
removeContent in interface Parentpublic <F extends Content> java.util.List<F> removeContent(Filter<F> filter)
removeContent in interface ParentF - The Generic type of the content to remove.filter - filter to select which content to remove
        Note that the Filters class has a number of predefined, useful
        filters.public Document setContent(java.util.Collection<? extends Content> newContent)
Document.  The supplied
 List should contain only objects of type Element,
 Comment, and ProcessingInstruction.
 
 When all objects in the supplied List are legal and before the new
 content is added, all objects in the old content will have their
 parentage set to null (no parent) and the old content list will be
 cleared. This has the effect that any active list (previously obtained
 with a call to getContent(int)) will also
 change to reflect the new content.  In addition, all objects in the
 supplied List will have their parentage set to this document, but the
 List itself will not be "live" and further removals and additions will
 have no effect on this document content. If the user wants to continue
 working with a "live" list, then a call to setContent should be
 followed by a call to getContent(int) to
 obtain a "live" version of the content.
 
Passing a null or empty List clears the existing content.
In event of an exception the original content will be unchanged and the objects in the supplied content will be unaltered.
newContent - List of content to setIllegalAddException - if the List contains objects of
         illegal types or with existing parentage.public final void setBaseURI(java.lang.String uri)
Sets the effective URI from which this document was loaded, and against which relative URLs in this document will be resolved.
uri - the base URI of this documentpublic final java.lang.String getBaseURI()
Returns the URI from which this document was loaded, or null if this is not known.
public Document setContent(int index, Content child)
In event of an exception the original content will be unchanged and the supplied child will be unaltered.
index - - index of child to replace.child - - child to add.IllegalAddException - if the supplied child is already attached
                             or not legal content for this parent.java.lang.IndexOutOfBoundsException - if index is negative or greater
         than the current number of children.public Document setContent(int index, java.util.Collection<? extends Content> collection)
In event of an exception the original content will be unchanged and the content in the supplied collection will be unaltered.
index - - index of child to replace.collection - - collection of content to add.IllegalAddException - if the collection contains objects of
         illegal types.java.lang.IndexOutOfBoundsException - if index is negative or greater
         than the current number of children.public boolean removeContent(Content child)
ParentremoveContent in interface Parentchild - child to removepublic Content removeContent(int index)
ParentremoveContent in interface Parentindex - index of child to removepublic Document setContent(Content child)
If the supplied child is legal content for a Document and before it is added, all content in the current content list will be cleared and all current children will have their parentage set to null.
 This has the effect that any active list (previously obtained with
 a call to one of the getContent(int) methods will also change
 to reflect the new content.  In addition, all content in the supplied
 collection will have their parentage set to this Document.  If the user
 wants to continue working with a "live" list of this Document's
 child, then a call to setContent should be followed by a call to one
 of the getContent(int) methods to obtain a "live"
 version of the children.
 
Passing a null child clears the existing content.
In event of an exception the original content will be unchanged and the supplied child will be unaltered.
child - new content to replace existing contentIllegalAddException - if the supplied child is already attached
                             or not legal content for this parentpublic java.lang.String toString()
String representation of the
 Document, suitable for debugging. If the XML
 representation of the Document is desired,
 XMLOutputter.outputString(Document)
 should be used.toString in class java.lang.ObjectString - information about the
         Documentpublic final boolean equals(java.lang.Object ob)
Document to the supplied
 Object.equals in class java.lang.Objectob - Object to compare toboolean whether the Document is
         equal to the supplied Objectpublic final int hashCode()
Document.hashCode in class java.lang.Objectint hash codepublic Document clone()
Document.public IteratorIterable<Content> getDescendants()
getDescendants in interface Parentpublic <F extends Content> IteratorIterable<F> getDescendants(Filter<F> filter)
getDescendants in interface ParentF - The generic type of the returned descendant datafilter - filter to select which descendants to see
        Note that the Filters class has a number of predefined, useful
        filters.public Parent getParent()
public Document getDocument()
getDocument in interface Parentpublic void setProperty(java.lang.String id,
                        java.lang.Object value)
id - the id of the stored Objectvalue - the Object to storepublic java.lang.Object getProperty(java.lang.String id)
id - the id of the stored Object to returnObject associated with the given idpublic void canContainContent(Content child, int index, boolean replace)
ParentcanContainContent in interface Parentchild - The content to be checkedindex - The location where the content would be put.replace - true if the intention is to replace the content already at
                                the index.public java.util.List<Namespace> getNamespacesInScope()
 Document always has exactly two Namespaces in-scope:
 Namespace.NO_NAMESPACE and Namespace.XML_NAMESPACE.
 
 These namespaces are always introduced by the Document, and thus they are
 both returned by getNamespacesIntroduced(), and additionally
 getNamespacesInherited() will always be empty.
 
 Description copied from
 NamespaceAware.getNamespacesInScope():
 
Obtain a list of all namespaces that are in scope for the current content.
The contents of this list will always be the combination of getNamespacesIntroduced() and getNamespacesInherited().
 See NamespaceAware documentation for details on what the order of the
 Namespaces will be in the returned list.
getNamespacesInScope in interface NamespaceAwarepublic java.util.List<Namespace> getNamespacesIntroduced()
NamespaceAwareThe contents of this list will always be a subset (but in the same order) of getNamespacesInScope(), and will never intersect getNamspacesInherited()
getNamespacesIntroduced in interface NamespaceAwarepublic java.util.List<Namespace> getNamespacesInherited()
NamespaceAwareThe contents of this list will always be a subset (but in the same order) of getNamespacesInScope(), and will never intersect getNamspacesIntroduced()
getNamespacesInherited in interface NamespaceAwareCopyright © 2021 Jason Hunter, Brett McLaughlin. All Rights Reserved.