Class AbstractAttribute

java.lang.Object
org.dom4j.tree.AbstractNode
org.dom4j.tree.AbstractAttribute
All Implemented Interfaces:
Serializable, Cloneable, Attribute, Node
Direct Known Subclasses:
BeanAttribute, 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:
  • Constructor Details

    • AbstractAttribute

      public AbstractAttribute()
  • Method Details

    • 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
      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 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
      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 interface Node
      Overrides:
      setText in class AbstractNode
      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 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()
      Overrides:
      toString in class Object
    • 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
      Parameters:
      writer - is the Writer 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.

      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
      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 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