Class LocalNameTest

  • All Implemented Interfaces:
    java.io.Serializable, ItemType

    public final class LocalNameTest
    extends NodeTest
    NodeTest is an interface that enables a test of whether a node has a particular name and type. A LocalNameTest matches the node type and the local name, it represents an XPath 2.0 test of the form *:name.
    Author:
    Michael H. Kay
    See Also:
    Serialized Form
    • Constructor Detail

      • LocalNameTest

        public LocalNameTest​(NamePool pool,
                             int nodeKind,
                             java.lang.String localName)
    • Method Detail

      • matches

        public boolean matches​(int nodeType,
                               int fingerprint,
                               int annotation)
        Test whether this node test is satisfied by a given node
        Specified by:
        matches in class NodeTest
        Parameters:
        nodeType - The type of node to be matched
        fingerprint - identifies the expanded name of the node to be matched
        annotation - The actual content type of the node
      • matches

        public boolean matches​(TinyTree tree,
                               int nodeNr)
        Test whether this node test is satisfied by a given node on a TinyTree. The node must be a document, element, text, comment, or processing instruction node. This method is provided so that when navigating a TinyTree a node can be rejected without actually instantiating a NodeInfo object.
        Specified by:
        matches in class NodeTest
        Parameters:
        tree - the TinyTree containing the node
        nodeNr - the number of the node within the TinyTree
        Returns:
        true if the node matches the NodeTest, otherwise false
      • matches

        public boolean matches​(NodeInfo node)
        Test whether this node test is satisfied by a given node. This alternative method is used in the case of nodes where calculating the fingerprint is expensive, for example DOM or JDOM nodes.
        Specified by:
        matches in class NodeTest
        Parameters:
        node - the node to be matched
      • getDefaultPriority

        public final double getDefaultPriority()
        Determine the default priority of this node test when used on its own as a Pattern
        Specified by:
        getDefaultPriority in class NodeTest
      • getLocalName

        public java.lang.String getLocalName()
        Get the local name used in this LocalNameTest
      • getPrimitiveType

        public int getPrimitiveType()
        Determine the types of nodes to which this pattern applies. Used for optimisation. For patterns that match nodes of several types, return Type.NODE
        Specified by:
        getPrimitiveType in interface ItemType
        Overrides:
        getPrimitiveType in class NodeTest
        Returns:
        the type of node matched by this pattern. e.g. Type.ELEMENT or Type.TEXT
      • getNodeKindMask

        public int getNodeKindMask()
        Get a mask indicating which kinds of nodes this NodeTest can match. This is a combination of bits: 1<
        Specified by:
        getNodeKindMask in class NodeTest
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object
      • hashCode

        public int hashCode()
        Returns a hash code value for the object.
        Overrides:
        hashCode in class java.lang.Object
      • equals

        public boolean equals​(java.lang.Object other)
        Indicates whether some other object is "equal to" this one.
        Overrides:
        equals in class java.lang.Object