public class SameNameTest extends NodeTest implements QNameTest
Note: it's not safe to use this if the supplied node is mutable.
ItemType.WithSequenceTypeCache
Constructor and Description |
---|
SameNameTest(NodeInfo origin)
Create a SameNameTest to match nodes by name
|
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object other)
Determines whether two NameTests are equal
|
java.lang.String |
generateJavaScriptItemTypeTest(ItemType knownToBe,
int targetVersion)
Generate Javascript code to test whether an item conforms to this item type
|
java.lang.String |
generateJavaScriptNameTest(int targetVersion)
Generate Javascript code to test if a name matches the test.
|
double |
getDefaultPriority()
Determine the default priority of this node test when used on its own as a Pattern
|
NameTest |
getEquivalentNameTest()
Generate an equivalent NameTest
|
int |
getFingerprint()
Get the fingerprint required
|
java.lang.String |
getLocalPart()
Get the local name matched by this nametest
|
java.util.function.IntPredicate |
getMatcher(NodeVectorTree tree)
Get a matching function that can be used to test whether numbered nodes in a TinyTree
or DominoTree satisfy the node test.
|
java.lang.String |
getNamespaceURI()
Get the namespace URI matched by this nametest
|
int |
getNodeKind()
Get the node kind that this name test matches
|
int |
getPrimitiveType()
Determine the types of nodes to which this pattern applies.
|
java.util.Optional<IntSet> |
getRequiredNodeNames()
Get the set of node names allowed by this NodeTest.
|
UType |
getUType()
Get the corresponding
UType . |
int |
hashCode()
Returns a hash code value for the object.
|
boolean |
matches(int nodeKind,
NodeName name,
SchemaType annotation)
Test whether this node test is satisfied by a given node.
|
boolean |
matches(StructuredQName qname)
Test whether the NameTest matches a given QName
|
boolean |
matchesNode(NodeInfo node)
Test whether this node test is satisfied by a given node.
|
java.lang.String |
toString() |
copy, explainMismatch, generateJavaScriptItemTypeAcceptor, getAlphaCode, getAtomizedItemType, getContentType, getGenre, getMatchingNodeName, getPrimitiveItemType, isAtomicType, isAtomizable, isNillable, isPlainType, matches, one, oneOrMore, toShortString, zeroOrMore, zeroOrOne
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
isTrueItemType, toExportString
public SameNameTest(NodeInfo origin)
origin
- the node whose node kind and name must be matchedpublic int getNodeKind()
public UType getUType()
UType
. A UType is a union of primitive item
types.public boolean matches(int nodeKind, NodeName name, SchemaType annotation)
matches
in class NodeTest
nodeKind
- The kind of node to be matchedname
- identifies the expanded name of the node to be matched.
The value should be null for a node with no name.annotation
- The actual content type of the nodepublic java.util.function.IntPredicate getMatcher(NodeVectorTree tree)
NodeTest
matchesNode(tree.getNode(nodeNr))
, but it may well be faster).getMatcher
in class NodeTest
tree
- the tree against which the returned function will operatepublic boolean matchesNode(NodeInfo node)
matchesNode
in class NodeTest
node
- the node to be matchedpublic boolean matches(StructuredQName qname)
public final double getDefaultPriority()
getDefaultPriority
in class NodeTest
public int getFingerprint()
getFingerprint
in class NodeTest
public int getPrimitiveType()
getPrimitiveType
in interface ItemType
getPrimitiveType
in class NodeTest
public java.util.Optional<IntSet> getRequiredNodeNames()
NodeTest
getRequiredNodeNames
in class NodeTest
public java.lang.String getNamespaceURI()
public java.lang.String getLocalPart()
public java.lang.String toString()
public int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public NameTest getEquivalentNameTest()
public java.lang.String generateJavaScriptNameTest(int targetVersion)
generateJavaScriptNameTest
in interface QNameTest
targetVersion
- the version of Saxon-JS being targetedpublic java.lang.String generateJavaScriptItemTypeTest(ItemType knownToBe, int targetVersion) throws XPathException
generateJavaScriptItemTypeTest
in interface ItemType
knownToBe
- an item type that the value is known to conform totargetVersion
- the version of Saxon-JS being targetedXPathException
- if JS code cannot be generated for this item type, for example because
the test is schema-aware.Copyright (c) 2004-2020 Saxonica Limited. All rights reserved.