## net.sf.saxon.pattern
Class DocumentNodeTest

    java.lang.Object
      net.sf.saxon.pattern.NodeTest
          net.sf.saxon.pattern.DocumentNodeTest

All Implemented Interfaces:
  ItemType, java.io.Serializable

public class DocumentNodeTest
extends NodeTest

A DocumentNodeTest implements the test document-node(element(~,~))

See Also:
  Serialized Form

Constructor Summary
`DocumentNodeTest(NodeTest elementTest)`

Method Summary
`double` `getDefaultPriority()` Determine the default priority of this node test when used on its own as a Pattern
`NodeTest` `getElementTest()` Get the element test contained within this document test
`int` `getNodeKindMask()` Get a mask indicating which kinds of nodes this NodeTest can match.
`int` `getPrimitiveType()` Determine the types of nodes to which this pattern applies.
`int` `hashCode()` Returns a hash code value for the object.
`boolean` `matches(int nodeKind, int fingerprint, int annotation)` Test whether this node test is satisfied by a given node
`boolean` `matches(NodeInfo node)` Determine whether this Pattern matches the given Node.
`java.lang.String` `toString()`

Methods inherited from class net.sf.saxon.pattern.NodeTest
`getAtomizedItemType, getContentType, getFingerprint, getPrimitiveItemType, getRequiredNodeNames, getSuperType, matchesItem, toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, notify, notifyAll, wait, wait, wait`

Constructor Detail

### DocumentNodeTest

    public DocumentNodeTest(NodeTest elementTest)

Method Detail

### matches

    public boolean matches(int nodeKind,
                           int fingerprint,
                           int annotation)

  Test whether this node test is satisfied by a given node

  Specified by:
    `matches` in class `NodeTest`
  Parameters:
    `nodeKind` - 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(NodeInfo node)

  Determine whether this Pattern matches the given Node.

  Specified by:
    `matches` in class `NodeTest`
  Parameters:
    `node` - The NodeInfo representing the Element or other node to be tested against the Pattern uses variables, or contains calls on functions such as document() or key().
  Returns:
    true if the node matches the Pattern, false otherwise

### 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`

### getPrimitiveType

    public int getPrimitiveType()

  Determine the types of nodes to which this pattern applies. Used for optimisation.

  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<<Type.ELEMENT for element nodes, 1<<Type.TEXT for text nodes, and so on.

  Specified by:
    `getNodeKindMask` in class `NodeTest`

### getElementTest

    public NodeTest getElementTest()

  Get the element test contained within this document test

  Returns:
    the contained element test

### toString

    public java.lang.String toString()

### hashCode

    public int hashCode()

  Returns a hash code value for the object.