## org.dom4j.tree
Class FlyweightProcessingInstruction

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

All Implemented Interfaces:
  Cloneable, Node, ProcessingInstruction, Serializable

Direct Known Subclasses:
  DefaultProcessingInstruction

public class FlyweightProcessingInstruction
extends AbstractProcessingInstruction

`FlyweightProcessingInstruction` is a Flyweight pattern implementation of a singly linked, read-only XML Processing Instruction.

This node could be shared across documents and elements though it does not support the parent relationship.

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

Field Summary
`protected String` `target` The target of the PI
`protected String` `text` The values for the PI as a String
`protected Map` `values` The values for the PI in name/value pairs

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
`FlyweightProcessingInstruction()` A default constructor for implementors to use.
`FlyweightProcessingInstruction(String target, Map values)` This will create a new PI with the given target and values
`FlyweightProcessingInstruction(String target, String text)` This will create a new PI with the given target and values

Method Summary
`protected Node` `createXPathResult(Element parent)`
`String` `getTarget()` This method is the equivalent to the `AbstractProcessingInstruction.getName()`method.
`String` `getText()` DOCUMENT ME!
`String` `getValue(String name)` Returns the value of a specific name in the PI.
`Map` `getValues()` DOCUMENT ME!
`void` `setTarget(String target)` This method is the equivalent to the `AbstractProcessingInstruction.setName(java.lang.String)`method.

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

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, 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.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`

Field Detail

### target

    protected String target

  The target of the PI

### text

    protected String text

  The values for the PI as a String

### values

    protected Map values

  The values for the PI in name/value pairs

Constructor Detail

### FlyweightProcessingInstruction

    public FlyweightProcessingInstruction()

  A default constructor for implementors to use.

### FlyweightProcessingInstruction

    public FlyweightProcessingInstruction(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` of the values for the PI

### FlyweightProcessingInstruction

    public FlyweightProcessingInstruction(String target,
                                          String text)

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

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

Method Detail

### getTarget

    public String getTarget()

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

  Returns:
    the target of this PI

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

  Parameters:
    `target` - DOCUMENT ME!

### getText

    public String getText()

  Description copied from interface: `ProcessingInstruction`
  DOCUMENT ME!

  Specified by:
    `getText` in interface `ProcessingInstruction`
  Overrides:
    `getText` in class `AbstractNode`

### getValue

    public String getValue(String name)

  Description copied from interface: `ProcessingInstruction`

  Returns the value of a specific name in the PI.

  Parameters:
    `name` - is the name of the attribute to lookup.
  Returns:
    the value of the named attribute

### getValues

    public Map getValues()

  Description copied from interface: `ProcessingInstruction`
  DOCUMENT ME!

  Returns:
    the values for this processing instruction as a Map

### createXPathResult

    protected Node createXPathResult(Element parent)

  Overrides:
    `createXPathResult` in class `AbstractNode`

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