public abstract class AbstractBranch extends AbstractNode implements Branch
AbstractBranch is an abstract base class for tree implementors
 to use for implementation inheritence.| Modifier and Type | Field and Description | 
|---|---|
protected static int | 
DEFAULT_CONTENT_LIST_SIZE  | 
NODE_TYPE_NAMESANY_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 and Description | 
|---|
AbstractBranch()  | 
| Modifier and Type | Method and Description | 
|---|---|
void | 
add(Comment comment)
Adds the given  
Comment to this branch. | 
void | 
add(Element element)
Adds the given  
Element to this branch. | 
void | 
add(Node node)
Adds the given  
Node or throws IllegalAddException
 if the given node is not of a valid type. | 
void | 
add(ProcessingInstruction pi)
Adds the given  
ProcessingInstruction to this branch. | 
Element | 
addElement(QName qname)
Adds a new  
Element node with the given QNameto
 this branch and returns a reference to the new node. | 
Element | 
addElement(java.lang.String name)
Adds a new  
Element node with the given name to this branch
 and returns a reference to the new node. | 
Element | 
addElement(java.lang.String qualifiedName,
          java.lang.String namespaceURI)
Adds a new  
Element node with the given qualified name and
 namespace URI to this branch and returns a reference to the new node. | 
Element | 
addElement(java.lang.String name,
          java.lang.String prefix,
          java.lang.String uri)  | 
protected abstract void | 
addNode(int index,
       Node node)  | 
protected abstract void | 
addNode(Node node)  | 
void | 
appendContent(Branch branch)
Appends the content of the given branch to this branch instance. 
 | 
java.util.List<Node> | 
content()
Returns the content nodes of this branch as a backed  
Listso that
 the content of this branch may be modified directly using the
 Listinterface. | 
protected abstract java.util.List<Node> | 
contentList()
DOCUMENT ME! 
 | 
protected void | 
contentRemoved()
Called when the given List content has been removed so each node should
 have its parent and document relationships cleared 
 | 
protected java.util.List<Node> | 
createContentList()
A Factory Method pattern which creates a List implementation used to
 store content 
 | 
protected java.util.List<Node> | 
createContentList(int size)
A Factory Method pattern which creates a List implementation used to
 store content 
 | 
protected <T extends Node> | 
createEmptyList()
A Factory Method pattern which creates an empty a BackedList
 implementation 
 | 
protected <T extends Node> | 
createResultList()
A Factory Method pattern which creates a BackedList implementation used
 to store results of a filtered content query. 
 | 
protected <T extends Node> | 
createSingleResultList(T result)
A Factory Method pattern which creates a BackedList implementation which
 contains a single result 
 | 
Element | 
elementByID(java.lang.String elementID)
Returns the element of the given ID attribute value. 
 | 
protected java.lang.String | 
elementID(Element element)
DOCUMENT ME! 
 | 
protected java.lang.String | 
getContentAsStringValue(java.lang.Object content)
DOCUMENT ME! 
 | 
protected java.lang.String | 
getContentAsText(java.lang.Object content)
DOCUMENT ME! 
 | 
java.lang.String | 
getText()
 Returns the text of this node. 
 | 
java.lang.String | 
getTextTrim()  | 
boolean | 
hasContent()
hasContent returns true if this node is a Branch (either
 an Element or a Document) and it contains at least one content node such
 as a child Element or Text node. | 
protected abstract void | 
childAdded(Node node)
Called when a new child node has been added to me to allow any parent
 relationships to be created or events to be fired. 
 | 
protected abstract void | 
childRemoved(Node node)
Called when a child node has been removed to allow any parent
 relationships to be deleted or events to be fired. 
 | 
int | 
indexOf(Node node)
Returns the index of the given node if it is a child node of this branch
 or -1 if the given node is not a child node. 
 | 
protected void | 
invalidNodeTypeAddException(Node node)
Called when an invalid node has been added. 
 | 
boolean | 
isReadOnly()
isReadOnly returns true if this node is read only and
 cannot be modified. | 
Node | 
node(int index)
Returns the  
Node at the specified index position. | 
int | 
nodeCount()
Returns the number of  
Node instances that this branch
 contains. | 
java.util.Iterator<Node> | 
nodeIterator()
Returns an iterator through the content nodes of this branch 
 | 
boolean | 
remove(Comment comment)
Removes the given  
Comment if the node is an immediate
 child of this branch. | 
boolean | 
remove(Element element)
Removes the given  
Element if the node is an immediate
 child of this branch. | 
boolean | 
remove(Node node)
Removes the given  
Node if the node is an immediate child
 of this branch. | 
boolean | 
remove(ProcessingInstruction pi)
Removes the given  
ProcessingInstruction if the node is an
 immediate child of this branch. | 
protected abstract boolean | 
removeNode(Node node)  | 
void | 
setProcessingInstructions(java.util.List<ProcessingInstruction> listOfPIs)
Sets all the processing instructions for this branch 
 | 
asXPathResult, clone, createPattern, createXPath, createXPathFilter, createXPathResult, detach, getDocument, getDocumentFactory, getName, getNodeType, getNodeTypeName, getParent, getPath, getStringValue, getUniquePath, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setName, setParent, setText, supportsParent, valueOf, writeequals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitclearContent, normalize, processingInstruction, processingInstructions, processingInstructions, removeProcessingInstruction, setContentaccept, asXML, asXPathResult, clone, createXPath, detach, getDocument, getName, getNodeType, getNodeTypeName, getParent, getPath, getPath, getStringValue, getUniquePath, getUniquePath, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setName, setParent, setText, supportsParent, valueOf, writeprotected static final int DEFAULT_CONTENT_LIST_SIZE
public boolean isReadOnly()
Node
 isReadOnly returns true if this node is read only and
 cannot be modified. Any attempt to modify a read-only Node
 will result in an UnsupportedOperationException being
 thrown.
 
isReadOnly in interface NodeisReadOnly in class AbstractNodeNode is read only and cannot be
         modified otherwise false.public boolean hasContent()
Node
 hasContent returns true if this node is a Branch (either
 an Element or a Document) and it contains at least one content node such
 as a child Element or Text node.
 
hasContent in interface NodehasContent in class AbstractNodeNode is a Branch with a nodeCount()
         of one or more.public java.util.List<Node> content()
BranchListso that
 the content of this branch may be modified directly using the
 Listinterface. The List is backed by the
 Branch so that changes to the list are reflected in the
 branch and vice versa.public java.lang.String getText()
NodeReturns the text of this node.
getText in interface NodegetText in class AbstractNodeprotected java.lang.String getContentAsText(java.lang.Object content)
content - DOCUMENT ME!protected java.lang.String getContentAsStringValue(java.lang.Object content)
content - DOCUMENT ME!public java.lang.String getTextTrim()
public void setProcessingInstructions(java.util.List<ProcessingInstruction> listOfPIs)
BranchsetProcessingInstructions in interface BranchlistOfPIs - DOCUMENT ME!public Element addElement(java.lang.String name)
BranchElement node with the given name to this branch
 and returns a reference to the new node.addElement in interface Branchname - is the name for the Element node.Element node.public Element addElement(java.lang.String qualifiedName, java.lang.String namespaceURI)
BranchElement node with the given qualified name and
 namespace URI to this branch and returns a reference to the new node.addElement in interface BranchqualifiedName - is the fully qualified name of the ElementnamespaceURI - is the URI of the namespace to useElement node.public Element addElement(QName qname)
BranchElement node with the given QNameto
 this branch and returns a reference to the new node.addElement in interface Branchqname - is the qualified name for the Element node.Element node.public Element addElement(java.lang.String name, java.lang.String prefix, java.lang.String uri)
public void add(Node node)
BranchNode or throws IllegalAddException
 if the given node is not of a valid type. This is a polymorphic method
 which will call the typesafe method for the node type such as
 add(Element) or add(Comment).public boolean remove(Node node)
BranchNode if the node is an immediate child
 of this branch. If the given node is not an immediate child of this
 branch then the Node.detach()method should be used instead. This
 is a polymorphic method which will call the typesafe method for the node
 type such as remove(Element) or remove(Comment).public void add(Comment comment)
BranchComment to this branch. If the given node
 already has a parent defined then an IllegalAddException
 will be thrown.public void add(Element element)
BranchElement to this branch. If the given node
 already has a parent defined then an IllegalAddException
 will be thrown.public void add(ProcessingInstruction pi)
BranchProcessingInstruction to this branch. If
 the given node already has a parent defined then an
 IllegalAddException will be thrown.public boolean remove(Comment comment)
BranchComment if the node is an immediate
 child of this branch. If the given node is not an immediate child of this
 branch then the Node.detach()method should be used instead.public boolean remove(Element element)
BranchElement if the node is an immediate
 child of this branch. If the given node is not an immediate child of this
 branch then the Node.detach()method should be used instead.public boolean remove(ProcessingInstruction pi)
BranchProcessingInstruction if the node is an
 immediate child of this branch. If the given node is not an immediate
 child of this branch then the Node.detach()method should be used
 instead.public Element elementByID(java.lang.String elementID)
BranchelementByID in interface BranchelementID - DOCUMENT ME!public void appendContent(Branch branch)
BranchCollection.addAll(java.util.Collection) method.appendContent in interface Branchbranch - is the branch whose content will be added to me.public Node node(int index)
BranchNode at the specified index position.public int nodeCount()
BranchNode instances that this branch
 contains.public int indexOf(Node node)
Branchpublic java.util.Iterator<Node> nodeIterator()
BranchnodeIterator in interface Branchprotected java.lang.String elementID(Element element)
element - DOCUMENT ME!Elementprotected abstract java.util.List<Node> contentList()
protected java.util.List<Node> createContentList()
protected java.util.List<Node> createContentList(int size)
size - DOCUMENT ME!protected <T extends Node> BackedList<T> createResultList()
T - DOCUMENT ME!protected <T extends Node> java.util.List<T> createSingleResultList(T result)
T - DOCUMENT ME!result - DOCUMENT ME!protected <T extends Node> java.util.List<T> createEmptyList()
T - DOCUMENT ME!protected abstract void addNode(Node node)
protected abstract void addNode(int index,
                                Node node)
protected abstract boolean removeNode(Node node)
protected abstract void childAdded(Node node)
node - DOCUMENT ME!protected abstract void childRemoved(Node node)
node - DOCUMENT ME!protected void contentRemoved()
protected void invalidNodeTypeAddException(Node node)
IllegalAddException.node - DOCUMENT ME!IllegalAddException - DOCUMENT ME!