Package net.sf.saxon.pattern
Class SubstitutionGroupTest
- java.lang.Object
-
- net.sf.saxon.pattern.NodeTest
-
- net.sf.saxon.pattern.SubstitutionGroupTest
-
- All Implemented Interfaces:
java.io.Serializable,ItemType
public class SubstitutionGroupTest extends NodeTest
NodeTest is an interface that enables a test of whether a node has a particular name and type. A SubstitutionGroupTest matches element nodes whose name is one of a given set of names: it is used for KindTests of the form schema-element(N) where all elements in a substitution group are to be matched.- Author:
- Michael H. Kay
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SubstitutionGroupTest(int fingerprint, IntHashSet group)Constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(java.lang.Object other)doublegetDefaultPriority()Determine the default priority of this node test when used on its own as a PatternintgetHeadFingerprint()Get the fingerprint of the head of the substitution groupintgetNodeKindMask()Get a mask indicating which kinds of nodes this NodeTest can match.intgetPrimitiveType()Determine the types of nodes to which this pattern applies.IntHashSetgetRequiredNodeNames()Get the set of node names allowed by this NodeTest.inthashCode()Returns a hash code value for the object.booleanmatches(int nodeKind, int nameCode, int annotation)Test whether this node test is satisfied by a given nodebooleanmatches(NodeInfo node)Test whether this node test is satisfied by a given node.booleanmatches(TinyTree tree, int nodeNr)Test whether this node test is satisfied by a given node on a TinyTree.java.lang.StringtoString(NamePool pool)Display the type descriptor for diagnostics-
Methods inherited from class net.sf.saxon.pattern.NodeTest
getAtomizedItemType, getContentType, getFingerprint, getPrimitiveItemType, getSuperType, isAtomicType, isNillable, matchesItem
-
-
-
-
Constructor Detail
-
SubstitutionGroupTest
public SubstitutionGroupTest(int fingerprint, IntHashSet group)Constructor- Parameters:
group- An IntSet containing Integer values representing the fingerprints of element names included in the substitution group
-
-
Method Detail
-
matches
public boolean matches(int nodeKind, int nameCode, int annotation)Test whether this node test is satisfied by a given 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.
-
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.
-
getDefaultPriority
public final double getDefaultPriority()
Determine the default priority of this node test when used on its own as a Pattern- Specified by:
getDefaultPriorityin classNodeTest
-
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:
getPrimitiveTypein interfaceItemType- Overrides:
getPrimitiveTypein classNodeTest- 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:
getNodeKindMaskin classNodeTest
-
getRequiredNodeNames
public IntHashSet getRequiredNodeNames()
Get the set of node names allowed by this NodeTest. This is returned as a set of Integer fingerprints. A null value indicates that all names are permitted (i.e. that there are no constraints on the node name. The default implementation returns null.- Overrides:
getRequiredNodeNamesin classNodeTest
-
getHeadFingerprint
public int getHeadFingerprint()
Get the fingerprint of the head of the substitution group- Returns:
- the fingerprint of the head of the substitution group
-
toString
public java.lang.String toString(NamePool pool)
Description copied from class:NodeTestDisplay the type descriptor for diagnostics
-
hashCode
public int hashCode()
Returns a hash code value for the object.- Overrides:
hashCodein classjava.lang.Object
-
equals
public boolean equals(java.lang.Object other)
- Overrides:
equalsin classjava.lang.Object
-
-