Class XPathUtil.Step

  • All Implemented Interfaces:
    Cloneable, Cloneable
    Enclosing class:
    XPathUtil

    public static class XPathUtil.Step
    extends Object
    implements Cloneable
    Author:
    Gabriel Roldan
    • Constructor Summary

      Constructors 
      Constructor Description
      Step​(QName name, boolean isXmlAttribute, String predicate)  
      Step​(QName name, int index)
      Creates a "property" xpath step (i.e. isXmlAttribute() == false).
      Step​(QName name, int index, boolean isXmlAttribute)
      Creates an xpath step for the given qualified name and index; and the given flag to indicate if it it an "attribute" or "property" step.
      Step​(QName name, int index, boolean isXmlAttribute, boolean isIndexed)
      Creates an xpath step for the given qualified name and index; and the given flag to indicate if it it an "attribute" or "property" step.
    • Constructor Detail

      • Step

        public Step​(QName name,
                    int index)
        Creates a "property" xpath step (i.e. isXmlAttribute() == false).
      • Step

        public Step​(QName name,
                    int index,
                    boolean isXmlAttribute)
        Creates an xpath step for the given qualified name and index; and the given flag to indicate if it it an "attribute" or "property" step.
        Parameters:
        name - the qualified name of the step (name should include prefix to be reflected in toString())
        index - the index (indexing starts at 1 for Xpath) of the step
        isXmlAttribute - whether the step referers to an "attribute" or a "property" (like for attributes and elements in xml)
        Throws:
        NullPointerException - if name==null
        IllegalArgumentException - if index < 1
      • Step

        public Step​(QName name,
                    int index,
                    boolean isXmlAttribute,
                    boolean isIndexed)
        Creates an xpath step for the given qualified name and index; and the given flag to indicate if it it an "attribute" or "property" step.
        Parameters:
        name - the qualified name of the step (name should include prefix to be reflected in toString())
        index - the index (indexing starts at 1 for Xpath) of the step
        isXmlAttribute - whether the step referers to an "attribute" or a "property" (like for attributes and elements in xml)
        isIndexed - whether or not the index is to be shown in the string representation even if index = 1
        Throws:
        NullPointerException - if name==null
        IllegalArgumentException - if index < 1
      • Step

        public Step​(QName name,
                    boolean isXmlAttribute,
                    String predicate)
    • Method Detail

      • equalsIgnoreIndex

        public boolean equalsIgnoreIndex​(XPathUtil.Step other)
        Compares this Step with another for equivalence ignoring the steps indexes.
      • getIndex

        public int getIndex()
      • getPredicate

        public String getPredicate()
      • isIndexed

        public boolean isIndexed()
      • getName

        public QName getName()
      • toString

        public String toString()
        Overrides:
        toString in class Object
      • equals

        public boolean equals​(Object o)
        Overrides:
        equals in class Object
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • clone

        public XPathUtil.Step clone()
        Description copied from interface: Cloneable
        Creates and returns a copy of this object. The precise meaning of "copy" may depend on the class of the object.
        Specified by:
        clone in interface Cloneable
        Overrides:
        clone in class Object
        Returns:
        A copy of this object.
        See Also:
        Object.clone()
      • isXmlAttribute

        public boolean isXmlAttribute()
        Flag that indicates that this single step refers to an "attribute" rather than a "property".

        I.e. it was created from the last step of an expression like foo/bar@attribute .

      • setIndex

        public void setIndex​(int index)