Class AbstractAttribute
- java.lang.Object
-
- org.dom4j.tree.AbstractNode
-
- org.dom4j.tree.AbstractAttribute
-
- All Implemented Interfaces:
Serializable
,Cloneable
,Attribute
,Node
- Direct Known Subclasses:
BeanAttribute
,DatatypeAttribute
,FlyweightAttribute
public abstract class AbstractAttribute extends AbstractNode implements Attribute
AbstractNamespace
is an abstract base class for tree implementors to use for implementation inheritence.- See Also:
- Serialized Form
-
-
Field Summary
-
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
Constructors Constructor Description AbstractAttribute()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
accept(Visitor visitor)
accept
is the method used in the Visitor Pattern.String
asXML()
asXML
returns the textual XML representation of this node.protected Node
createXPathResult(Element parent)
Object
getData()
Accesses the data of this attribute which may implement data typing bindings such asXML Schema
orJava Bean
bindings or will return the same value asNode.getText()
.String
getName()
getName
returns the name of this node.Namespace
getNamespace()
Returns theNamespace
of this element if one exists otherwise null is returned returned.String
getNamespacePrefix()
Returns the namespace prefix of this element if one exists otherwise an emptyString
is returned.String
getNamespaceURI()
Returns the URI mapped to the namespace of this element if one exists otherwise an emptyString
is returned.short
getNodeType()
Returns the code according to the type of node.String
getPath(Element context)
Returns the relative XPath expression which will return a node set containing the given node such as a/b/@c.String
getQualifiedName()
Returns the fully qualified name of this element.String
getText()
Returns the text of this node.String
getUniquePath(Element context)
Returns the relative unique XPath expression from the given context which will return a nodeset of one node which is the current node.void
setData(Object data)
Sets the data value of this attribute if this element supports data binding or callsNode.setText(String)
if it doesn't.void
setNamespace(Namespace namespace)
Sets theNamespace
of this element or if this element is read only then anUnsupportedOperationException
is thrown.void
setText(String text)
Sets the text data of this node or this method will throw anUnsupportedOperationException
if it is read-only.void
setValue(String value)
Sets the value of this attribute or this method will throw anUnsupportedOperationException
if it is read-only.String
toString()
void
write(Writer writer)
write
writes this node as the default XML notation for this node.-
Methods inherited from class org.dom4j.tree.AbstractNode
asXPathResult, clone, createPattern, createXPath, createXPathFilter, detach, getDocument, getDocumentFactory, getNodeTypeName, getParent, getPath, getStringValue, getUniquePath, hasContent, isReadOnly, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setName, setParent, supportsParent, valueOf
-
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.dom4j.Node
asXPathResult, clone, createXPath, detach, getDocument, getNodeTypeName, getParent, getPath, getStringValue, getUniquePath, hasContent, isReadOnly, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setName, setParent, supportsParent, valueOf
-
-
-
-
Method Detail
-
getNodeType
public short getNodeType()
Description copied from interface:Node
Returns the code according to the type of node. This makes processing nodes polymorphically much easier as the switch statement can be used instead of multiple if (instanceof) statements.- Specified by:
getNodeType
in interfaceNode
- Overrides:
getNodeType
in classAbstractNode
- Returns:
- a W3C DOM complient code for the node type such as ELEMENT_NODE or ATTRIBUTE_NODE
-
setNamespace
public void setNamespace(Namespace namespace)
Description copied from interface:Attribute
Sets theNamespace
of this element or if this element is read only then anUnsupportedOperationException
is thrown.- Specified by:
setNamespace
in interfaceAttribute
- Parameters:
namespace
- is theNamespace
to associate with this element
-
getText
public String getText()
Description copied from interface:Node
Returns the text of this node.
- Specified by:
getText
in interfaceNode
- Overrides:
getText
in classAbstractNode
- Returns:
- the text for this node.
-
setText
public void setText(String text)
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:
setText
in interfaceNode
- Overrides:
setText
in classAbstractNode
- Parameters:
text
- is the new textual value of this node
-
setValue
public void setValue(String value)
Description copied from interface:Attribute
Sets the value of this attribute or this method will throw anUnsupportedOperationException
if it is read-only.
-
getData
public Object getData()
Description copied from interface:Attribute
Accesses the data of this attribute which may implement data typing bindings such asXML Schema
orJava Bean
bindings or will return the same value asNode.getText()
.
-
setData
public void setData(Object data)
Description copied from interface:Attribute
Sets the data value of this attribute if this element supports data binding or callsNode.setText(String)
if it doesn't.
-
asXML
public String asXML()
Description copied from interface:Node
asXML
returns the textual XML representation of this node.
-
write
public void write(Writer writer) throws IOException
Description copied from interface:Node
write
writes this node as the default XML notation for this node. If you wish to control the XML output (such as for pretty printing, changing the indentation policy etc.) then please useXMLWriter
or its derivations.- Specified by:
write
in interfaceNode
- Overrides:
write
in classAbstractNode
- Parameters:
writer
- is theWriter
to output the XML to- Throws:
IOException
- DOCUMENT ME!
-
accept
public void accept(Visitor visitor)
Description copied from interface:Node
accept
is the method used in the Visitor Pattern.
-
getNamespace
public Namespace getNamespace()
Description copied from interface:Attribute
Returns theNamespace
of this element if one exists otherwise null is returned returned.- Specified by:
getNamespace
in interfaceAttribute
- Returns:
- the
Namespace
associated with this node
-
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 interfaceNode
- Overrides:
getName
in classAbstractNode
- Returns:
- the XML name of this node
-
getNamespacePrefix
public String getNamespacePrefix()
Description copied from interface:Attribute
Returns the namespace prefix of this element if one exists otherwise an emptyString
is returned.- Specified by:
getNamespacePrefix
in interfaceAttribute
- Returns:
- the prefix of the
Namespace
of this element or an emptyString
-
getNamespaceURI
public String getNamespaceURI()
Description copied from interface:Attribute
Returns the URI mapped to the namespace of this element if one exists otherwise an emptyString
is returned.- Specified by:
getNamespaceURI
in interfaceAttribute
- Returns:
- the URI for the
Namespace
of this element or an emptyString
-
getQualifiedName
public String getQualifiedName()
Description copied from interface:Attribute
Returns the fully qualified name of this element. This will be the same as the value returned fromNode.getName()
if this element has no namespace attached to this element or an expression of the formgetNamespacePrefix() + ":" + getName()
will be returned.- Specified by:
getQualifiedName
in interfaceAttribute
- Returns:
- the fully qualified name of the element
-
getPath
public String getPath(Element context)
Description copied from interface:Node
Returns the relative XPath expression which will return a node set containing the given node such as a/b/@c. No indexing will be used to restrict the path if multiple elements with the same name occur on the path.- Specified by:
getPath
in interfaceNode
- Parameters:
context
- is the parent context from which the relative path should start. If the context is null or the context is not an ancestor of this node then the path will be absolute and start from the document and so begin with the '/' character.- Returns:
- the XPath expression relative to the given context which will return a nodeset containing at least this node.
-
getUniquePath
public String getUniquePath(Element context)
Description copied from interface:Node
Returns the relative unique XPath expression from the given context which will return a nodeset of one node which is the current node. This method will use the XPath index operator to restrict the path if multiple elements with the same name occur on the path.
- Specified by:
getUniquePath
in interfaceNode
- Parameters:
context
- is the parent context from which the path should start. If the context is null or the context is not an ancestor of this node then the path will start from the document and so begin with the '/' character.- Returns:
- the XPath expression relative to the given context which will return a nodeset containing just this node.
-
createXPathResult
protected Node createXPathResult(Element parent)
- Overrides:
createXPathResult
in classAbstractNode
-
-