## org.dom4j.tree
Class AbstractProcessingInstruction

    java.lang.Object
      org.dom4j.tree.AbstractNode
          org.dom4j.tree.AbstractProcessingInstruction

All Implemented Interfaces:
  Cloneable, Node, ProcessingInstruction, Serializable

Direct Known Subclasses:
  FlyweightProcessingInstruction

public abstract class AbstractProcessingInstruction
extends AbstractNode
implements ProcessingInstruction

`AbstractProcessingInstruction` is an abstract base class for tree implementors to use for implementation inheritence.

Version:
  $Revision: 1.17 $
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
`AbstractProcessingInstruction()`

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.
`String` `getName()` `getName` returns the name of this node.
`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` `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.
`protected Map` `parseValues(String text)` Parses the raw data of PI as a `Map`.
`boolean` `removeValue(String name)`
`void` `setName(String name)` Sets the text data of this node or this method will throw an `UnsupportedOperationException` if it is read-only.
`void` `setValue(String name, String value)`
`void` `setValues(Map data)`
`String` `toString()`
`protected String` `toString(Map values)` This will convert the Map to a string representation.
`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, createXPathResult, detach, getDocument, getDocumentFactory, getNodeTypeName, getParent, getPath, getStringValue, getText, getUniquePath, hasContent, isReadOnly, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, setParent, setText, supportsParent, valueOf`

Methods inherited from class java.lang.Object
`equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.dom4j.ProcessingInstruction
`getTarget, getText, getValue, getValues, setTarget`

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, setParent, setText, supportsParent, valueOf`

Constructor Detail

### AbstractProcessingInstruction

    public AbstractProcessingInstruction()

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`

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

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

### setValue

    public void setValue(String name,
                         String value)

  Specified by:
    `setValue` in interface `ProcessingInstruction`

### setValues

    public void setValues(Map data)

  Specified by:
    `setValues` in interface `ProcessingInstruction`

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

### setName

    public void setName(String name)

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

### removeValue

    public boolean removeValue(String name)

  Specified by:
    `removeValue` in interface `ProcessingInstruction`

### toString

    protected String toString(Map values)

  This will convert the Map to a string representation.

  Parameters:
    `values` - is a `Map` of PI data to convert
  Returns:
    DOCUMENT ME!

### parseValues

    protected Map parseValues(String text)

  Parses the raw data of PI as a `Map`.

  Parameters:
    `text` - `String` PI data to parse
  Returns:
    DOCUMENT ME!

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