public class NodeKindTest extends NodeTest
ItemType.WithSequenceTypeCache
Modifier and Type | Field and Description |
---|---|
static NodeKindTest |
ATTRIBUTE |
static NodeKindTest |
COMMENT |
static NodeKindTest |
DOCUMENT |
static NodeKindTest |
ELEMENT |
static NodeKindTest |
NAMESPACE |
static NodeKindTest |
PROCESSING_INSTRUCTION |
static NodeKindTest |
TEXT |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(java.lang.Object other)
Indicates whether some other object is "equal to" this one.
|
java.util.Optional<java.lang.String> |
explainMismatch(Item item,
TypeHierarchy th)
Get extra diagnostic information about why a supplied item does not conform to this
item type, if available.
|
java.lang.String |
generateJavaScriptItemTypeTest(ItemType knownToBe,
int targetVersion)
Generate Javascript code to test whether an item conforms to this item type
|
AtomicType |
getAtomizedItemType()
Get the content type allowed by this NodeTest (that is, the type annotation).
|
SchemaType |
getContentType()
Get the content type allowed by this NodeTest (that is, the type of content allowed).
|
double |
getDefaultPriority()
Determine the default priority of this node test when used on its own as a Pattern
|
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.
|
int |
getNodeKind()
Get the node kind matched by this test
|
int |
getPrimitiveType()
Determine the types of nodes to which this pattern applies.
|
UType |
getUType()
Get the corresponding
UType . |
int |
hashCode()
Returns a hash code value for the object.
|
static NodeTest |
makeNodeKindTest(int kind)
Make a test for a given kind of node
|
boolean |
matches(int nodeKind,
NodeName name,
SchemaType annotation)
Test whether this node test is satisfied by a given node.
|
boolean |
matches(Item item,
TypeHierarchy th)
Test whether a given item conforms to this type
|
boolean |
matchesNode(NodeInfo node)
Test whether this node test is satisfied by a given node.
|
static java.lang.String |
nodeKindName(int kind)
Get the name of a node kind
|
java.lang.String |
toShortString() |
java.lang.String |
toString() |
static java.lang.String |
toString(int kind) |
copy, generateJavaScriptItemTypeAcceptor, getAlphaCode, getFingerprint, getGenre, getMatchingNodeName, getPrimitiveItemType, getRequiredNodeNames, isAtomicType, isAtomizable, isNillable, isPlainType, one, oneOrMore, zeroOrMore, zeroOrOne
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
isTrueItemType, toExportString
public static final NodeKindTest DOCUMENT
public static final NodeKindTest ELEMENT
public static final NodeKindTest ATTRIBUTE
public static final NodeKindTest TEXT
public static final NodeKindTest COMMENT
public static final NodeKindTest PROCESSING_INSTRUCTION
public static final NodeKindTest NAMESPACE
public int getNodeKind()
public UType getUType()
UType
. A UType is a union of primitive item
types.public static NodeTest makeNodeKindTest(int kind)
public boolean matches(Item item, TypeHierarchy th)
ItemType
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 final double getDefaultPriority()
getDefaultPriority
in class NodeTest
public int getPrimitiveType()
getPrimitiveType
in interface ItemType
getPrimitiveType
in class NodeTest
public SchemaType getContentType()
getContentType
in class NodeTest
public AtomicType getAtomizedItemType()
getAtomizedItemType
in interface ItemType
getAtomizedItemType
in class NodeTest
public java.lang.String toString()
public static java.lang.String toString(int kind)
public static java.lang.String nodeKindName(int kind)
kind
- the node kind, for example Type.ELEMENT or Type.ATTRIBUTEpublic int hashCode()
hashCode
in class java.lang.Object
public boolean equals(java.lang.Object other)
equals
in class java.lang.Object
public java.lang.String generateJavaScriptItemTypeTest(ItemType knownToBe, int targetVersion)
knownToBe
- An item type that the supplied item is known to conform to; the generated code
can assume that the item is an instance of this type.targetVersion
- The version of Saxon-JS for which code is being generated. Currently either 1 or 2.public java.util.Optional<java.lang.String> explainMismatch(Item item, TypeHierarchy th)
explainMismatch
in interface ItemType
explainMismatch
in class NodeTest
item
- the item that doesn't match this typeth
- the type hierarchy cachepublic java.lang.String toShortString()
toShortString
in class NodeTest
Copyright (c) 2004-2020 Saxonica Limited. All rights reserved.