org.dom4j.tree
Class AbstractAttribute

java.lang.Object
  extended byorg.dom4j.tree.AbstractNode
      extended byorg.dom4j.tree.AbstractAttribute
All Implemented Interfaces:
Attribute, Cloneable, Node, Serializable
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.

Version:
$Revision: 1.21 $
Author:
James Strachan
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
AbstractAttribute()
           
 
Method Summary
 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 as XML Schema or Java Bean bindings or will return the same value as Node.getText().
 String getName()
           getName returns the name of this node.
 Namespace getNamespace()
           Returns the Namespace 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 empty String is returned.
 String getNamespaceURI()
           Returns the URI mapped to the namespace of this element if one exists otherwise an empty String 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 calls Node.setText(String)if it doesn't.
 void setNamespace(Namespace namespace)
           Sets the Namespace of this element or if this element is read only then an UnsupportedOperationException is thrown.
 void setText(String text)
           Sets the text data of this node or this method will throw an UnsupportedOperationException if it is read-only.
 void setValue(String value)
           Sets the value of this attribute or this method will throw an UnsupportedOperationException 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.Attribute
getQName, getValue
 
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
 

Constructor Detail

AbstractAttribute

public AbstractAttribute()
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 interface Node
Overrides:
getNodeType in class AbstractNode

setNamespace

public void setNamespace(Namespace namespace)
Description copied from interface: Attribute

Sets the Namespace of this element or if this element is read only then an UnsupportedOperationException is thrown.

Specified by:
setNamespace in interface Attribute
Parameters:
namespace - is the Namespace to associate with this element

getText

public String getText()
Description copied from interface: Node

Returns the text of this node.

Specified by:
getText in interface Node
Overrides:
getText in class AbstractNode

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 interface Node
Overrides:
setText in class AbstractNode

setValue

public void setValue(String value)
Description copied from interface: Attribute

Sets the value of this attribute or this method will throw an UnsupportedOperationException if it is read-only.

Specified by:
setValue in interface Attribute
Parameters:
value - is the new value of this attribute

getData

public Object getData()
Description copied from interface: Attribute

Accesses the data of this attribute which may implement data typing bindings such as XML Schema or Java Bean bindings or will return the same value as Node.getText().

Specified by:
getData in interface Attribute
Returns:
the attribute data

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 calls Node.setText(String)if it doesn't.

Specified by:
setData in interface Attribute
Parameters:
data - the attribute data

toString

public String toString()

asXML

public String asXML()
Description copied from interface: Node

asXML returns the textual XML representation of this node.

Specified by:
asXML in interface Node
Returns:
the 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 use XMLWriter or its derivations.

Specified by:
write in interface Node
Overrides:
write in class AbstractNode
Throws:
IOException

accept

public void accept(Visitor visitor)
Description copied from interface: Node

accept is the method used in the Visitor Pattern.

Specified by:
accept in interface Node
Parameters:
visitor - is the visitor in the Visitor Pattern

getNamespace

public Namespace getNamespace()
Description copied from interface: Attribute

Returns the Namespace of this element if one exists otherwise null is returned returned.

Specified by:
getNamespace in interface Attribute
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 interface Node
Overrides:
getName in class AbstractNode

getNamespacePrefix

public String getNamespacePrefix()
Description copied from interface: Attribute

Returns the namespace prefix of this element if one exists otherwise an empty String is returned.

Specified by:
getNamespacePrefix in interface Attribute
Returns:
the prefix of the Namespace of this element or an empty String

getNamespaceURI

public String getNamespaceURI()
Description copied from interface: Attribute

Returns the URI mapped to the namespace of this element if one exists otherwise an empty String is returned.

Specified by:
getNamespaceURI in interface Attribute
Returns:
the URI for the Namespace of this element or an empty String

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 from Node.getName() if this element has no namespace attached to this element or an expression of the form

 getNamespacePrefix() + ":" + getName()
 
will be returned.

Specified by:
getQualifiedName in interface Attribute
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 interface Node
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 interface Node
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 class AbstractNode


Copyright © 2001-2005 MetaStuff Ltd.. All Rights Reserved.