public class BaseElement extends AbstractElement
BaseElement
is a useful base class for implemementation
inheritence of an XML element.
Modifier and Type | Field and Description |
---|---|
protected List |
attributes
list of attributes
|
protected List |
content
List of content nodes.
|
private Branch |
parentBranch
Stores the parent branch of this node which is either a Document
if this element is the root element in a document, or another Element
if it is a child of the root document, or null if it has not been added
to a document yet.
|
private QName |
qname
The
QName for this element |
EMPTY_ITERATOR, EMPTY_LIST, USE_STRINGVALUE_SEPARATOR, VERBOSE_TOSTRING
DEFAULT_CONTENT_LIST_SIZE, outputFormat
NODE_TYPE_NAMES
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 and Description |
---|
BaseElement(QName qname) |
BaseElement(String name) |
BaseElement(String name,
Namespace namespace) |
Modifier and Type | Method and Description |
---|---|
protected List |
attributeList() |
protected List |
attributeList(int size) |
void |
clearContent()
Clears the content for this branch, removing any
Node
instances this branch may contain. |
protected List |
contentList() |
Document |
getDocument()
getDocument returns the Document
that this Node is part of if this node supports
the parent relationship. |
Element |
getParent()
getParent returns the parent Element
if this node supports the parent relationship or null if it is
the root element or does not support the parent relationship. |
QName |
getQName()
Returns the
QName of this element which represents
the local name, the qualified name and the Namespace . |
protected void |
setAttributeList(List attributes) |
void |
setAttributes(List attributes)
Sets the attributes that this element contains
|
void |
setContent(List content)
Sets the contents of this branch as a
List of
Node instances. |
void |
setDocument(Document document)
setDocument sets the document of this node if the
parent relationship is supported or does nothing if the parent
relationship is not supported. |
void |
setParent(Element parent)
setParent sets the parent relationship of
this node if the parent relationship is supported or does nothing
if the parent relationship is not supported. |
void |
setQName(QName qname)
Sets the
QName of this element which represents
the local name, the qualified name and the Namespace . |
boolean |
supportsParent()
supportsParent returns true if this node supports the
parent relationship. |
accept, add, add, add, add, add, add, add, add, add, addAttribute, addAttribute, addCDATA, addComment, addElement, addEntity, additionalNamespaces, additionalNamespaces, addNamespace, addNewNode, addNode, addProcessingInstruction, addProcessingInstruction, addText, appendAttributes, asXML, attribute, attribute, attribute, attribute, attributeCount, attributeIterator, attributes, attributeValue, attributeValue, attributeValue, attributeValue, childAdded, childRemoved, createAttributeList, createAttributeList, createCopy, createCopy, createCopy, createElement, createElement, createSingleIterator, declaredNamespaces, element, element, element, elementIterator, elementIterator, elementIterator, elementIterator, elements, elements, elements, elements, elementText, elementText, elementTextTrim, elementTextTrim, ensureAttributesCapacity, getData, getDocumentFactory, getName, getNamespace, getNamespaceForPrefix, getNamespaceForURI, getNamespacePrefix, getNamespaceURI, getNodeType, getPath, getQName, getQualifiedName, getStringValue, getUniquePath, getXPathNameStep, getXPathResult, hasMixedContent, indexOf, isRootElement, isTextOnly, node, nodeCount, nodeIterator, normalize, processingInstruction, processingInstructions, processingInstructions, remove, remove, remove, remove, remove, remove, remove, remove, remove, removeNode, removeProcessingInstruction, setAttributes, setAttributeValue, setAttributeValue, setData, setName, setNamespace, setText, toString, write
addElement, addElement, addElement, appendContent, content, contentRemoved, createContentList, createContentList, createEmptyList, createResultList, createSingleResultList, elementByID, elementID, getContentAsStringValue, getContentAsText, getText, getTextTrim, hasContent, invalidNodeTypeAddException, isReadOnly, setProcessingInstructions
asXPathResult, clone, createPattern, createXPath, createXPathFilter, createXPathResult, detach, getNodeTypeName, getPath, getUniquePath, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, valueOf
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
getText, getTextTrim
addElement, addElement, appendContent, content, elementByID, setProcessingInstructions
asXPathResult, clone, createXPath, detach, getNodeTypeName, getPath, getUniquePath, hasContent, isReadOnly, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, valueOf
private Branch parentBranch
protected List attributes
public BaseElement(String name)
public BaseElement(QName qname)
public BaseElement(String name, Namespace namespace)
public Element getParent()
Node
getParent
returns the parent Element
if this node supports the parent relationship or null if it is
the root element or does not support the parent relationship.
This method is an optional feature and may not be supported
for all Node
implementations.
getParent
in interface Node
getParent
in class AbstractNode
public void setParent(Element parent)
Node
setParent
sets the parent relationship of
this node if the parent relationship is supported or does nothing
if the parent relationship is not supported.
This method should only be called from inside an
Element
implementation method and is not intended for
general use.
setParent
in interface Node
setParent
in class AbstractNode
parent
- is the new parent of this node.public Document getDocument()
Node
getDocument
returns the Document
that this Node
is part of if this node supports
the parent relationship.
This method is an optional feature and may not be supported
for all Node
implementations.
getDocument
in interface Node
getDocument
in class AbstractNode
Document
public void setDocument(Document document)
Node
setDocument
sets the document of this node if the
parent relationship is supported or does nothing if the parent
relationship is not supported.
This method should only be called from inside a
Document
implementation method and is not intended for
general use.
setDocument
in interface Node
setDocument
in class AbstractNode
document
- is the new document of this node.public boolean supportsParent()
Node
supportsParent
returns true if this node supports the
parent relationship.
Some XML tree implementations are singly linked and only support downward navigation through children relationships. The default case is that both parent and children relationships are supported though for memory and performance reasons the parent relationship may not be supported.
supportsParent
in interface Node
supportsParent
in class AbstractNode
public QName getQName()
Element
Returns the QName
of this element which represents
the local name, the qualified name and the Namespace
.
QName
associated with this elementpublic void setQName(QName qname)
Element
Sets the QName
of this element which represents
the local name, the qualified name and the Namespace
.
qname
- is the QName
to be associated with this elementpublic void clearContent()
Branch
Node
instances this branch may contain.public void setContent(List content)
Branch
List
of
Node
instances.content
- is the list of nodes to use as the content for this
branch.public void setAttributes(List attributes)
Element
protected List contentList()
contentList
in class AbstractBranch
protected List attributeList()
attributeList
in class AbstractElement
protected List attributeList(int size)
attributeList
in class AbstractElement
protected void setAttributeList(List attributes)
WebARTS Library Licensed Under the GNU - General Public License. Other Libraries licensed under their respective Open Source Licenses