Package org.jdom2
Class ProcessingInstruction
- java.lang.Object
-
- org.jdom2.Content
-
- org.jdom2.ProcessingInstruction
-
- All Implemented Interfaces:
java.io.Serializable,java.lang.Cloneable,NamespaceAware
- Direct Known Subclasses:
LocatedProcessingInstruction
public class ProcessingInstruction extends Content
An XML processing instruction. 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 or, if the data appears akin to an attribute list, can be retrieved as name/value pairs.- Author:
- Brett McLaughlin, Jason Hunter, Steven Gould
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.jdom2.Content
Content.CType
-
-
Constructor Summary
Constructors Modifier Constructor Description protectedProcessingInstruction()Default, no-args constructor for implementations to use if needed.ProcessingInstruction(java.lang.String target)This will create a newProcessingInstructionwith the specified target.ProcessingInstruction(java.lang.String target, java.lang.String data)This will create a newProcessingInstructionwith the specified target and data.ProcessingInstruction(java.lang.String target, java.util.Map<java.lang.String,java.lang.String> data)This will create a newProcessingInstructionwith the specified target and data.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description ProcessingInstructionclone()Return a deep clone of this instance.ProcessingInstructiondetach()Detaches this child from its parent or does nothing if the child has no parent.java.lang.StringgetData()This will return the raw data from all instructions.java.util.List<java.lang.String>getPseudoAttributeNames()This will return aListcontaining the names of the "attribute" style pieces of name/value pairs in this PI's data.java.lang.StringgetPseudoAttributeValue(java.lang.String name)This will return the value for a specific name/value pair on the PI.java.lang.StringgetTarget()This will retrieve the target of the PI.java.lang.StringgetValue()Returns the XPath 1.0 string value of this element, which is the data of this PI.booleanremovePseudoAttribute(java.lang.String name)This will remove the pseudo attribute with the specified name.ProcessingInstructionsetData(java.lang.String data)This will set the raw data for the PI.ProcessingInstructionsetData(java.util.Map<java.lang.String,java.lang.String> data)This will set the name/value pairs within the passedMapas the pairs for the data of this PI.protected ProcessingInstructionsetParent(Parent parent)Sets the parent of this Content.ProcessingInstructionsetPseudoAttribute(java.lang.String name, java.lang.String value)This will set a pseudo attribute with the given name and value.ProcessingInstructionsetTarget(java.lang.String newTarget)This will set the target for the PI.java.lang.StringtoString()This returns aStringrepresentation of theProcessingInstruction, suitable for debugging.-
Methods inherited from class org.jdom2.Content
equals, getCType, getDocument, getNamespacesInherited, getNamespacesInScope, getNamespacesIntroduced, getParent, getParentElement, hashCode
-
-
-
-
Constructor Detail
-
ProcessingInstruction
protected ProcessingInstruction()
Default, no-args constructor for implementations to use if needed.
-
ProcessingInstruction
public ProcessingInstruction(java.lang.String target)
This will create a newProcessingInstructionwith the specified target.- Parameters:
target-Stringtarget of PI.- Throws:
IllegalTargetException- if the given target is illegal as a processing instruction name.
-
ProcessingInstruction
public ProcessingInstruction(java.lang.String target, java.util.Map<java.lang.String,java.lang.String> data)This will create a newProcessingInstructionwith the specified target and data.- Parameters:
target-Stringtarget of PI.data-Mapdata 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 newProcessingInstructionwith the specified target and data.- Parameters:
target-Stringtarget of PI.data-Stringdata for PI.- Throws:
IllegalTargetException- if the given target is illegal as a processing instruction name.
-
-
Method Detail
-
setTarget
public ProcessingInstruction setTarget(java.lang.String newTarget)
This will set the target for the PI.- Parameters:
newTarget-Stringnew target of PI.- Returns:
ProcessingInstruction- this PI modified.
-
getValue
public java.lang.String getValue()
Returns the XPath 1.0 string value of this element, which is the data of this PI.
-
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.
-
getPseudoAttributeNames
public java.util.List<java.lang.String> getPseudoAttributeNames()
This will return aListcontaining the names of the "attribute" style pieces of name/value pairs in this PI's data.- Returns:
List- theListcontaining the "attribute" names.
-
setData
public ProcessingInstruction setData(java.lang.String data)
This will set the raw data for the PI.- Parameters:
data-Stringdata of PI.- Returns:
ProcessingInstruction- this PI modified.
-
setData
public ProcessingInstruction setData(java.util.Map<java.lang.String,java.lang.String> data)
This will set the name/value pairs within the passedMapas the pairs for the data of this PI. The keys should be the pair name and the values should be the pair values.- Parameters:
data- new map data to use- Returns:
ProcessingInstruction- modified PI.
-
getPseudoAttributeValue
public java.lang.String getPseudoAttributeValue(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-Stringname of name/value pair to lookup value for.- Returns:
String- value of name/value pair.
-
setPseudoAttribute
public ProcessingInstruction setPseudoAttribute(java.lang.String name, java.lang.String value)
This will set a pseudo attribute with the given name and value. If the PI data is not already in a pseudo-attribute format, this will replace the existing data.- Parameters:
name-Stringname of pair.value-Stringvalue for pair.- Returns:
ProcessingInstructionthis PI modified.
-
removePseudoAttribute
public boolean removePseudoAttribute(java.lang.String name)
This will remove the pseudo attribute with the specified name.- Parameters:
name- name of pseudo attribute to remove- Returns:
boolean- whether the requested instruction was removed.
-
toString
public java.lang.String toString()
This returns aStringrepresentation of theProcessingInstruction, suitable for debugging. If the XML representation of theProcessingInstructionis desired,XMLOutputter.outputString(ProcessingInstruction)should be used.- Overrides:
toStringin classjava.lang.Object- Returns:
String- information about theProcessingInstruction
-
clone
public ProcessingInstruction clone()
Return a deep clone of this instance. Even if this instance has a parent, the returned clone will not.All JDOM core classes are Cloneable, and never throw CloneNotSupportedException. Additionally all Cloneable JDOM classes return the correct type of instance from this method and there is no need to cast the result (co-variant return vaue).
Subclasses of this should still call super.clone() in their clone method.
-
detach
public ProcessingInstruction detach()
Description copied from class:ContentDetaches this child from its parent or does nothing if the child has no parent.This method can be overridden by particular Content subclasses to return a specific type of Content (co-variant return type). All overriding subclasses must call
super.detach();
-
setParent
protected ProcessingInstruction setParent(Parent parent)
Description copied from class:ContentSets the parent of this Content. The caller is responsible for removing any pre-existing parentage.This method can be overridden by particular Content subclasses to return a specific type of Content (co-variant return type). All overriding subclasses must call
super.setParent(Parent);
-
-