## org.jdom
Class ProcessingInstruction

    java.lang.Object
      |
      +--org.jdom.ProcessingInstruction

public class ProcessingInstruction
extends java.lang.Object
implements java.io.Serializable, java.lang.Cloneable

`ProcessingInstruction` defines behavior for an XML processing instruction, modeled in Java. Methods allow the user to obtain the target of the PI as well as its data. The data can always be accessed as a String, and where appropriate can be retrieved as name/value pairs.

Version:
  $Revision: 1.27 $, $Date: 2002/03/20 15:16:32 $
Author:
  Brett McLaughlin, Jason Hunter, Steven Gould
See Also:
  Serialized Form

Field Summary
`protected java.util.Map` `mapData` The data for the PI in name/value pairs
`protected java.lang.Object` `parent` Parent element, document, or null if none
`protected java.lang.String` `rawData` The data for the PI as a String
`protected java.lang.String` `target` The target of the PI

Constructor Summary
`protected` `ProcessingInstruction()` Default, no-args constructor for implementations to use if needed.
`` `ProcessingInstruction(java.lang.String target, java.util.Map data)` This will create a new `ProcessingInstruction` with the specified target and data.
`` `ProcessingInstruction(java.lang.String target, java.lang.String data)` This will create a new `ProcessingInstruction` with the specified target and data.

Method Summary
`java.lang.Object` `clone()` This will return a clone of this `ProcessingInstruction`.
`ProcessingInstruction` `detach()` This detaches the PI from its parent, or does nothing if the PI has no parent.
`boolean` `equals(java.lang.Object ob)` This tests for equality of this `ProcessingInstruction` to the supplied `Object`.
`java.lang.String` `getData()` This will return the raw data from all instructions.
`Document` `getDocument()` This retrieves the owning ``Document`` for this PI, or null if not a currently a member of a ``Document``.
`java.util.List` `getNames()` This will return a `List` containing the names of the "attribute" style pieces of name/value pairs in this PI's data.
`Element` `getParent()` This will return the parent of this `ProcessingInstruction`.
`java.lang.String` `getTarget()` This will retrieve the target of the PI.
`java.lang.String` `getValue(java.lang.String name)` This will return the value for a specific name/value pair on the PI.
`int` `hashCode()` This returns the hash code for this `ProcessingInstruction`.
`boolean` `removeValue(java.lang.String name)` This will remove the name/value pair with the specified name.
`ProcessingInstruction` `setData(java.util.Map data)` This will set the name/value pairs within the passed `Map` as the pairs for the data of this PI.
`ProcessingInstruction` `setData(java.lang.String data)` This will set the raw data for the PI.
`protected ProcessingInstruction` `setDocument(Document document)` This sets the ``Document`` parent of this PI.
`protected ProcessingInstruction` `setParent(Element parent)` This will set the parent of this `ProcessingInstruction`.
`ProcessingInstruction` `setValue(java.lang.String name, java.lang.String value)` This will set the value for the specified name/value pair.
`java.lang.String` `toString()` This returns a `String` representation of the `ProcessingInstruction`, suitable for debugging.

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

Field Detail

### target

    protected java.lang.String target

  The target of the PI

### rawData

    protected java.lang.String rawData

  The data for the PI as a String

### mapData

    protected java.util.Map mapData

  The data for the PI in name/value pairs

### parent

    protected java.lang.Object parent

  Parent element, document, or null if none

Constructor Detail

### ProcessingInstruction

    protected ProcessingInstruction()

  Default, no-args constructor for implementations to use if needed.

### ProcessingInstruction

    public ProcessingInstruction(java.lang.String target,
                                 java.util.Map data)

  This will create a new `ProcessingInstruction` with the specified target and data.

  Parameters:
    `target` - `String` target of PI.
    `data` - `Map` data for PI, in name/value pairs
  Throws:
    IllegalTargetException - if the given target is illegal as a processing instruction name.

### ProcessingInstruction

    public ProcessingInstruction(java.lang.String target,
                                 java.lang.String data)

  This will create a new `ProcessingInstruction` with the specified target and data.

  Parameters:
    `target` - `String` target of PI.
    `rawData` - `String` data for PI.
  Throws:
    IllegalTargetException - if the given target is illegal as a processing instruction name.

Method Detail

### getParent

    public Element getParent()

  This will return the parent of this `ProcessingInstruction`. If there is no parent, then this returns `null`.

  Returns:
    parent of this `ProcessingInstruction`

### setParent

    protected ProcessingInstruction setParent(Element parent)

  This will set the parent of this `ProcessingInstruction`.

  Parameters:
    `parent` - `Element` to be new parent.
  Returns:
    this `ProcessingInstruction` modified.

### detach

    public ProcessingInstruction detach()

  This detaches the PI from its parent, or does nothing if the PI has no parent.

  Returns:
    `ProcessingInstruction` - this `ProcessingInstruction` modified.

### getDocument

    public Document getDocument()

  This retrieves the owning ``Document`` for this PI, or null if not a currently a member of a ``Document``.

  Returns:
    `Document` owning this PI, or null.

### setDocument

    protected ProcessingInstruction setDocument(Document document)

  This sets the ``Document`` parent of this PI.

  Parameters:
    `document` - `Document` parent
  Returns:
    this `PI` modified

### getTarget

    public java.lang.String getTarget()

  This will retrieve the target of the PI.

  Returns:
    `String` - target of PI.

### getData

    public java.lang.String getData()

  This will return the raw data from all instructions.

  Returns:
    `String` - data of PI.

### getNames

    public java.util.List getNames()

  This will return a `List` containing the names of the "attribute" style pieces of name/value pairs in this PI's data.

  Returns:
    `List` - the `List` containing the "attribute" names.

### setData

    public ProcessingInstruction setData(java.lang.String data)

  This will set the raw data for the PI.

  Parameters:
    `rawData` - `String` data of PI.
  Returns:
    `ProcessingInstruction` - this PI modified.

### setData

    public ProcessingInstruction setData(java.util.Map data)

  This will set the name/value pairs within the passed `Map` as the pairs for the data of this PI. The keys should be the pair name and the values should be the pair values.

  Returns:
    `ProcessingInstruction` - modified PI.

### getValue

    public java.lang.String getValue(java.lang.String name)

  This will return the value for a specific name/value pair on the PI. If no such pair is found for this PI, null is returned.

  Parameters:
    `name` - `String` name of name/value pair to lookup value for.
  Returns:
    `String` - value of name/value pair.

### setValue

    public ProcessingInstruction setValue(java.lang.String name,
                                          java.lang.String value)

  This will set the value for the specified name/value pair. If no matching pair is found, the supplied pair is added to the PI data.

  Parameters:
    `name` - `String` name of pair.
    `value` - `String` value for pair.
  Returns:
    `ProcessingInstruction` this PI modified.

### removeValue

    public boolean removeValue(java.lang.String name)

  This will remove the name/value pair with the specified name.

  Returns:
    `boolean` - whether the requested instruction was removed.

### toString

    public java.lang.String toString()

  This returns a `String` representation of the `ProcessingInstruction`, suitable for debugging. If the XML representation of the `ProcessingInstruction` is desired, `XMLOutputter.outputString(ProcessingInstruction)` should be used.

  Overrides:
    toString in class java.lang.Object
  Returns:
    `String` - information about the `ProcessingInstruction`

### equals

    public final boolean equals(java.lang.Object ob)

  This tests for equality of this `ProcessingInstruction` to the supplied `Object`.

  Overrides:
    equals in class java.lang.Object
  Parameters:
    `ob` - `Object` to compare to.
  Returns:
    `boolean` - whether the `ProcessingInstruction` is equal to the supplied `Object`.

### hashCode

    public final int hashCode()

  This returns the hash code for this `ProcessingInstruction`.

  Overrides:
    hashCode in class java.lang.Object
  Returns:
    `int` - hash code.

### clone

    public java.lang.Object clone()

  This will return a clone of this `ProcessingInstruction`.

  Overrides:
    clone in class java.lang.Object
  Returns:
    `Object` - clone of this `ProcessingInstruction`.

Copyright © 2002 Jason Hunter, Brett McLaughlin. All Rights Reserved.