Class AnyNodeTest

  • All Implemented Interfaces:
    java.io.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:
    Serialized Form
    • Method Detail

      • 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 xs: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 - the type hierarchy cache
        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.
        Overrides:
        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.
        Overrides:
        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: 1<
        Overrides:
        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