Class LocalNameTest

java.lang.Object
net.sf.saxon.pattern.NodeTest
net.sf.saxon.pattern.LocalNameTest
All Implemented Interfaces:
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:
  • Constructor Details

    • LocalNameTest

      public LocalNameTest(NamePool pool, int nodeKind, String localName)
  • Method Details

    • 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 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: 1invalid input: '<'invalid input: '<'Type.ELEMENT for element nodes, 1invalid input: '<'invalid input: '<'Type.TEXT for text nodes, and so on.
      Specified by:
      getNodeKindMask in class NodeTest
    • toString

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

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

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