|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
org.dom4j.tree Class AbstractBranch
java.lang.Object org.dom4j.tree.AbstractNode org.dom4j.tree.AbstractBranch
- All Implemented Interfaces:
- Branch, Cloneable, Node, Serializable
- Direct Known Subclasses:
- AbstractDocument, AbstractElement
- public abstract class AbstractBranch
- extends AbstractNode
- implements Branch
AbstractBranch
is an abstract base class for tree implementors
to use for implementation inheritence.
- Version:
- $Revision: 1.44 $
- Author:
- James Strachan
- See Also:
- Serialized Form
Field Summary | |
protected static int |
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 | |
AbstractBranch()
|
Method Summary | |
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 QName to
this branch and returns a reference to the new node. |
Element |
addElement(String name)
Adds a new Element node with the given name to this branch
and returns a reference to the new node. |
Element |
addElement(String qualifiedName,
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(String name,
String prefix,
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. |
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. |
List |
content()
Returns the content nodes of this branch as a backed List so that
the content of this branch may be modified directly using the
List interface. |
protected abstract List |
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 List |
createContentList()
A Factory Method pattern which creates a List implementation used to store content |
protected List |
createContentList(int size)
A Factory Method pattern which creates a List implementation used to store content |
protected List |
createEmptyList()
A Factory Method pattern which creates an empty a BackedList implementation |
protected BackedList |
createResultList()
A Factory Method pattern which creates a BackedList implementation used to store results of a filtered content query. |
protected List |
createSingleResultList(Object result)
A Factory Method pattern which creates a BackedList implementation which contains a single result |
Element |
elementByID(String elementID)
Returns the element of the given ID attribute value. |
protected String |
elementID(Element element)
DOCUMENT ME! |
protected String |
getContentAsStringValue(Object content)
DOCUMENT ME! |
protected String |
getContentAsText(Object content)
DOCUMENT ME! |
String |
getText()
Returns the text of this node. |
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.
|
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. |
Iterator |
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(List listOfPIs)
Sets all the processing instructions for this branch |
Methods inherited from class org.dom4j.tree.AbstractNode |
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, write |
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Methods inherited from interface org.dom4j.Branch |
clearContent, normalize, processingInstruction, processingInstructions, processingInstructions, removeProcessingInstruction, setContent |
Methods inherited from interface org.dom4j.Node |
accept, 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, write |
Field Detail |
DEFAULT_CONTENT_LIST_SIZE
protected static final int DEFAULT_CONTENT_LIST_SIZE
- See Also:
- Constant Field Values
Constructor Detail |
AbstractBranch
public AbstractBranch()
Method Detail |
isReadOnly
public boolean isReadOnly()
- Description copied from interface:
Node
isReadOnly
returns true if this node is read only and cannot be modified. Any attempt to modify a read-onlyNode
will result in anUnsupportedOperationException
being thrown.- Specified by:
isReadOnly
in interfaceNode
- Overrides:
isReadOnly
in classAbstractNode
hasContent
public boolean hasContent()
- Description copied from interface:
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.- Specified by:
hasContent
in interfaceNode
- Overrides:
hasContent
in classAbstractNode
content
public List content()
- Description copied from interface:
Branch
Returns the content nodes of this branch as a backed
List
so that the content of this branch may be modified directly using theList
interface. TheList
is backed by theBranch
so that changes to the list are reflected in the branch and vice versa.- Returns:
- the nodes that this branch contains as a
List
getText
public String getText()
- Description copied from interface:
Node
Returns the text of this node.
- Specified by:
getText
in interfaceNode
- Overrides:
getText
in classAbstractNode
getContentAsText
protected String getContentAsText(Object content)
- DOCUMENT ME!
- Parameters:
content
- DOCUMENT ME!- Returns:
- the text value of the given content object as text which returns the text value of CDATA, Entity or Text nodes
getContentAsStringValue
protected String getContentAsStringValue(Object content)
- DOCUMENT ME!
- Parameters:
content
- DOCUMENT ME!- Returns:
- the XPath defined string-value of the given content object
getTextTrim
public String getTextTrim()
setProcessingInstructions
public void setProcessingInstructions(List listOfPIs)
- Description copied from interface:
Branch
- Sets all the processing instructions for this branch
- Specified by:
setProcessingInstructions
in interfaceBranch
- Parameters:
listOfPIs
- DOCUMENT ME!
addElement
public Element addElement(String name)
- Description copied from interface:
Branch
- Adds a new
Element
node with the given name to this branch and returns a reference to the new node. - Specified by:
addElement
in interfaceBranch
- Parameters:
name
- is the name for theElement
node.- Returns:
- the newly added
Element
node.
addElement
public Element addElement(String qualifiedName, String namespaceURI)
- Description copied from interface:
Branch
- Adds a new
Element
node with the given qualified name and namespace URI to this branch and returns a reference to the new node. - Specified by:
addElement
in interfaceBranch
- Parameters:
qualifiedName
- is the fully qualified name of the ElementnamespaceURI
- is the URI of the namespace to use- Returns:
- the newly added
Element
node.
addElement
public Element addElement(QName qname)
- Description copied from interface:
Branch
- Adds a new
Element
node with the givenQName
to this branch and returns a reference to the new node. - Specified by:
addElement
in interfaceBranch
- Parameters:
qname
- is the qualified name for theElement
node.- Returns:
- the newly added
Element
node.
addElement
public Element addElement(String name, String prefix, String uri)
add
public void add(Node node)
- Description copied from interface:
Branch
- Adds the given
Node
or throwsIllegalAddException
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). - Parameters:
node
- is the given node to add
remove
public boolean remove(Node node)
- Description copied from interface:
Branch
- Removes the given
Node
if the node is an immediate child of this branch. If the given node is not an immediate child of this branch then theNode.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). - Parameters:
node
- is the given node to be removed- Returns:
- true if the node was removed
add
public void add(Comment comment)
- Description copied from interface:
Branch
- Adds the given
Comment
to this branch. If the given node already has a parent defined then anIllegalAddException
will be thrown. - Parameters:
comment
- is the comment to be added
add
public void add(Element element)
- Description copied from interface:
Branch
- Adds the given
Element
to this branch. If the given node already has a parent defined then anIllegalAddException
will be thrown. - Parameters:
element
- is the element to be added
add
public void add(ProcessingInstruction pi)
- Description copied from interface:
Branch
- Adds the given
ProcessingInstruction
to this branch. If the given node already has a parent defined then anIllegalAddException
will be thrown. - Parameters:
pi
- is the processing instruction to be added
remove
public boolean remove(Comment comment)
- Description copied from interface:
Branch
- Removes the given
Comment
if the node is an immediate child of this branch. If the given node is not an immediate child of this branch then theNode.detach()
method should be used instead. - Parameters:
comment
- is the comment to be removed- Returns:
- true if the comment was removed
remove
public boolean remove(Element element)
- Description copied from interface:
Branch
- Removes the given
Element
if the node is an immediate child of this branch. If the given node is not an immediate child of this branch then theNode.detach()
method should be used instead. - Parameters:
element
- is the element to be removed- Returns:
- true if the element was removed
remove
public boolean remove(ProcessingInstruction pi)
- Description copied from interface:
Branch
- Removes the given
ProcessingInstruction
if the node is an immediate child of this branch. If the given node is not an immediate child of this branch then theNode.detach()
method should be used instead. - Parameters:
pi
- is the processing instruction to be removed- Returns:
- true if the processing instruction was removed
elementByID
public Element elementByID(String elementID)
- Description copied from interface:
Branch
- Returns the element of the given ID attribute value. If this tree is
capable of understanding which attribute value should be used for the ID
then it should be used, otherwise this method should return null.
- Specified by:
elementByID
in interfaceBranch
- Parameters:
elementID
- DOCUMENT ME!- Returns:
- DOCUMENT ME!
appendContent
public void appendContent(Branch branch)
- Description copied from interface:
Branch
- Appends the content of the given branch to this branch instance. This
method behaves like the
Collection.addAll(java.util.Collection)
method. - Specified by:
appendContent
in interfaceBranch
- Parameters:
branch
- is the branch whose content will be added to me.
node
public Node node(int index)
- Description copied from interface:
Branch
- Returns the
Node
at the specified index position. - Parameters:
index
- the index of the node to return.- Returns:
- the
Node
at the specified position.
nodeCount
public int nodeCount()
- Description copied from interface:
Branch
- Returns the number of
Node
instances that this branch contains. - Returns:
- the number of nodes this branch contains
indexOf
public int indexOf(Node node)
- Description copied from interface:
Branch
- 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.
- Parameters:
node
- the content child node to find.- Returns:
- the index of the given node starting at 0 or -1 if the node is not a child node of this branch
nodeIterator
public Iterator nodeIterator()
- Description copied from interface:
Branch
- Returns an iterator through the content nodes of this branch
- Specified by:
nodeIterator
in interfaceBranch
- Returns:
- an iterator through the content nodes of this branch
elementID
protected String elementID(Element element)
- DOCUMENT ME!
- Parameters:
element
- DOCUMENT ME!- Returns:
- the ID of the given
Element
contentList
protected abstract List contentList()
- DOCUMENT ME!
- Returns:
- the internal List used to manage the content
createContentList
protected List createContentList()
- A Factory Method pattern which creates a List implementation used to
store content
- Returns:
- DOCUMENT ME!
createContentList
protected List createContentList(int size)
- A Factory Method pattern which creates a List implementation used to
store content
- Parameters:
size
- DOCUMENT ME!- Returns:
- DOCUMENT ME!
createResultList
protected BackedList createResultList()
- A Factory Method pattern which creates a BackedList implementation used
to store results of a filtered content query.
- Returns:
- DOCUMENT ME!
createSingleResultList
protected List createSingleResultList(Object result)
- A Factory Method pattern which creates a BackedList implementation which
contains a single result
- Parameters:
result
- DOCUMENT ME!- Returns:
- DOCUMENT ME!
createEmptyList
protected List createEmptyList()
- A Factory Method pattern which creates an empty a BackedList
implementation
- Returns:
- DOCUMENT ME!
addNode
protected abstract void addNode(Node node)
addNode
protected abstract void addNode(int index, Node node)
removeNode
protected abstract boolean removeNode(Node node)
childAdded
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.
- Parameters:
node
- DOCUMENT ME!
childRemoved
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.
- Parameters:
node
- DOCUMENT ME!
contentRemoved
protected void contentRemoved()
- Called when the given List content has been removed so each node should
have its parent and document relationships cleared
invalidNodeTypeAddException
protected void invalidNodeTypeAddException(Node node)
- Called when an invalid node has been added. Throws an
IllegalAddException
. - Parameters:
node
- DOCUMENT ME!- Throws:
IllegalAddException
- DOCUMENT ME!
|
|||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.