Class AnyNodeTest

java.lang.Object
net.sf.saxon.pattern.NodeTest
net.sf.saxon.pattern.AnyNodeTest
All Implemented Interfaces:
Serializable, ItemType

public final class AnyNodeTest extends NodeTest
NodeTest is an interface that enables a test of whether a node has a particular name and type. An AnyNodeTest matches any node.
Author:
Michael H. Kay
See Also:
  • Method Details

    • getInstance

      public static AnyNodeTest getInstance()
      Get an instance of AnyNodeTest
    • matchesItem

      public boolean matchesItem(Item item, boolean allowURIPromotion, Configuration config)
      Test whether a given item conforms to this type
      Specified by:
      matchesItem in interface ItemType
      Overrides:
      matchesItem in class NodeTest
      Parameters:
      item - The item to be tested
      allowURIPromotion -
      config -
      Returns:
      true if the item is an instance of this type; false otherwise
    • getSuperType

      public ItemType getSuperType(TypeHierarchy th)
      Description copied from class: NodeTest
      Get the type from which this item type is derived by restriction. This is the supertype in the XPath type heirarchy, as distinct from the Schema base type: this means that the supertype of xs:boolean is xdt:anyAtomicType, whose supertype is item() (rather than xs:anySimpleType).

      In fact the concept of "supertype" is not really well-defined, because the types form a lattice rather than a hierarchy. The only real requirement on this function is that it returns a type that strictly subsumes this type, ideally as narrowly as possible.

      Specified by:
      getSuperType in interface ItemType
      Overrides:
      getSuperType in class NodeTest
      Parameters:
      th -
      Returns:
      the supertype, or null if this type is item()
    • matches

      public final 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
    • 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