## org.dom4j.tree
Class AbstractAttribute

    java.lang.Object
      org.dom4j.tree.AbstractNode
          org.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.