Package org.jdom2

Class 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
    • 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 transient java.util.Map<java.lang.String,​java.lang.String> mapData
        The data for the PI in name/value pairs
    • 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 new ProcessingInstruction with the specified target.
        Parameters:
        target - String target 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 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.
        data - String data 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 - String new 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.
        Specified by:
        getValue in class Content
        Returns:
        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 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:
        data - String data 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 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.
        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 - String name 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 - String name of pair.
        value - String value for pair.
        Returns:
        ProcessingInstruction this 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 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
      • 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.

        Overrides:
        clone in class Content
      • detach

        public ProcessingInstruction detach()
        Description copied from class: Content
        Detaches 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();

        Overrides:
        detach in class Content
        Returns:
        this child detached
      • setParent

        protected ProcessingInstruction setParent​(Parent parent)
        Description copied from class: Content
        Sets 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);

        Overrides:
        setParent in class Content
        Parameters:
        parent - new parent element
        Returns:
        the target element