## org.dom4j.tree
Class DefaultProcessingInstruction

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

All Implemented Interfaces:
  Cloneable, Node, ProcessingInstruction, Serializable

Direct Known Subclasses:
  DOMProcessingInstruction

public class DefaultProcessingInstruction
extends FlyweightProcessingInstruction

`DefaultProcessingInstruction` is the default Processing Instruction implementation. It is a doubly linked node which supports the parent relationship and can be modified in place.

Version:
  $Revision: 1.13 $
Author:
  James Strachan
See Also:
  Serialized Form

Field Summary

Fields inherited from class org.dom4j.tree.FlyweightProcessingInstruction
`target, text, values`

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
`DefaultProcessingInstruction(Element parent, String target, String values)` This will create a new PI with the given target and values
`DefaultProcessingInstruction(String target, Map values)` This will create a new PI with the given target and values
`DefaultProcessingInstruction(String target, String values)` This will create a new PI with the given target and values

Method Summary
`Element` `getParent()` `getParent` returns the parent `Element` if this node supports the parent relationship or null if it is the root element or does not support the parent relationship.
`boolean` `isReadOnly()` `isReadOnly` returns true if this node is read only and cannot be modified.
`void` `setParent(Element parent)` `setParent` sets the parent relationship of this node if the parent relationship is supported or does nothing if the parent relationship is not supported.
`void` `setTarget(String target)` This method is the equivalent to the `AbstractProcessingInstruction.setName(java.lang.String)`method.
`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 name, String value)`
`void` `setValues(Map values)`
`boolean` `supportsParent()` `supportsParent` returns true if this node supports the parent relationship.

Methods inherited from class org.dom4j.tree.FlyweightProcessingInstruction
`createXPathResult, getTarget, getText, getValue, getValues`

Methods inherited from class org.dom4j.tree.AbstractProcessingInstruction
`accept, asXML, getName, getNodeType, getPath, getUniquePath, parseValues, removeValue, setName, toString, toString, write`

Methods inherited from class org.dom4j.tree.AbstractNode
`asXPathResult, clone, createPattern, createXPath, createXPathFilter, detach, getDocument, getDocumentFactory, getNodeTypeName, getPath, getStringValue, getUniquePath, hasContent, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, 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, getPath, getStringValue, getUniquePath, hasContent, matches, numberValueOf, selectNodes, selectNodes, selectNodes, selectObject, selectSingleNode, setDocument, valueOf`

Constructor Detail

### DefaultProcessingInstruction

    public DefaultProcessingInstruction(String target,
                                        Map values)

  This will create a new PI with the given target and values

Parameters:
  `target` - is the name of the PI
  `values` - is the `Map` values for the PI

### DefaultProcessingInstruction

    public DefaultProcessingInstruction(String target,
                                        String values)

  This will create a new PI with the given target and values

Parameters:
  `target` - is the name of the PI
  `values` - is the values for the PI

### DefaultProcessingInstruction

    public DefaultProcessingInstruction(Element parent,
                                        String target,
                                        String values)

  This will create a new PI with the given target and values

Parameters:
  `parent` - is the parent element
  `target` - is the name of the PI
  `values` - is the values for the PI

Method Detail

### setTarget

    public void setTarget(String target)

  Description copied from interface: `ProcessingInstruction`
  This method is the equivalent to the `Node.setName(java.lang.String)`method. It is added for clarity.

  Specified by:
    `setTarget` in interface `ProcessingInstruction`
  Overrides:
    `setTarget` in class `FlyweightProcessingInstruction`

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

### setValues

    public void setValues(Map values)

  Specified by:
    `setValues` in interface `ProcessingInstruction`
  Overrides:
    `setValues` in class `AbstractProcessingInstruction`

### setValue

    public void setValue(String name,
                         String value)

  Specified by:
    `setValue` in interface `ProcessingInstruction`
  Overrides:
    `setValue` in class `AbstractProcessingInstruction`

### getParent

    public Element getParent()

  Description copied from interface: `Node`

  `getParent` returns the parent `Element` if this node supports the parent relationship or null if it is the root element or does not support the parent relationship.

  This method is an optional feature and may not be supported for all `Node` implementations.

  Specified by:
    `getParent` in interface `Node`
  Overrides:
    `getParent` in class `AbstractNode`

### setParent

    public void setParent(Element parent)

  Description copied from interface: `Node`

  `setParent` sets the parent relationship of this node if the parent relationship is supported or does nothing if the parent relationship is not supported.

  This method should only be called from inside an `Element` implementation method and is not intended for general use.

  Specified by:
    `setParent` in interface `Node`
  Overrides:
    `setParent` in class `AbstractNode`

### supportsParent

    public boolean supportsParent()

  Description copied from interface: `Node`

  `supportsParent` returns true if this node supports the parent relationship.

  Some XML tree implementations are singly linked and only support downward navigation through children relationships. The default case is that both parent and children relationships are supported though for memory and performance reasons the parent relationship may not be supported.

  Specified by:
    `supportsParent` in interface `Node`
  Overrides:
    `supportsParent` in class `AbstractNode`

### isReadOnly

    public boolean isReadOnly()

  Description copied from interface: `Node`

  `isReadOnly` returns true if this node is read only and cannot be modified. Any attempt to modify a read-only `Node` will result in an `UnsupportedOperationException` being thrown.

  Specified by:
    `isReadOnly` in interface `Node`
  Overrides:
    `isReadOnly` in class `AbstractNode`

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