public class SameNameTest extends NodeTest implements QNameTest
Note: it's not safe to use this if the supplied node is mutable.
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 |
exportQNameTest()
Export the QNameTest as a string for use in a SEF file (typically in a catch clause).
|
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
|
IntPredicateProxy |
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 |
test(NodeInfo node)
Test whether this node test is satisfied by a given node.
|
java.lang.String |
toString() |
copy, explainMismatch, getAtomizedItemType, getBasicAlphaCode, getContentType, getGenre, getMatchingNodeName, getPrimitiveItemType, isAtomicType, isAtomizable, isNillable, isPlainType, matches, one, oneOrMore, toShortString, zeroOrMore, zeroOrOne
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getFullAlphaCode, getNormalizedDefaultPriority, 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 IntPredicateProxy 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 test(NodeInfo node)
test
in interface NodePredicate
test
in class NodeTest
node
- the node to be matchedpublic boolean matches(StructuredQName qname)
public final double getDefaultPriority()
getDefaultPriority
in interface ItemType
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()
toString
in class java.lang.Object
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 exportQNameTest()
exportQNameTest
in interface QNameTest
public java.lang.String generateJavaScriptNameTest(int targetVersion)
generateJavaScriptNameTest
in interface QNameTest
targetVersion
- the version of Saxon-JS being targetedCopyright (c) 2004-2022 Saxonica Limited. All rights reserved.