| java.lang.Object net.sf.saxon.pattern.NodeTest net.sf.saxon.pattern.CombinedNodeTest
CombinedNodeTest | public class CombinedNodeTest extends NodeTest (Code) | | A CombinedNodeTest combines two nodetests using one of the operators
union (=or), intersect (=and), difference (= "and not"). This arises
when optimizing a union (etc) of two path expressions using the same axis.
A CombinedNodeTest is also used to support constructs such as element(N,T),
which can be expressed as (element(N,*) AND element(*,T))
author: Michael H. Kay |
Method Summary | |
public boolean | equals(Object other) Indicates whether some other object is "equal to" this one. | public NodeTest[] | getComponentNodeTests() | public SchemaType | getContentType() Get the content type allowed by this NodeTest (that is, the type annotation of the matched nodes).
Return AnyType if there are no restrictions. | public double | getDefaultPriority() | public int | getFingerprint() Get the name of the nodes matched by this nodetest, if it matches a specific name. | public int | getNodeKindMask() Get a mask indicating which kinds of nodes this NodeTest can match. | public int | getPrimitiveType() Get the basic kind of object that this ItemType matches: for a NodeTest, this is the kind of node,
or Type.Node if it matches different kinds of nodes. | public IntHashSet | getRequiredNodeNames() Get the set of node names allowed by this NodeTest. | public ItemType | getSuperType(TypeHierarchy th) Get the supertype of this type. | public int | hashCode() Returns a hash code value for the object. | public boolean | matches(int nodeType, int fingerprint, int annotation) Test whether this node test is satisfied by a given node. | public boolean | matches(TinyTree tree, int nodeNr) Test whether this node test is satisfied by a given node on a TinyTree. | public boolean | matches(NodeInfo node) Test whether this node test is satisfied by a given node. | public String | toString(NamePool pool) |
equals | public boolean equals(Object other)(Code) | | Indicates whether some other object is "equal to" this one.
|
getComponentNodeTests | public NodeTest[] getComponentNodeTests()(Code) | | Get the two parts of the combined node test
|
getContentType | public SchemaType getContentType()(Code) | | Get the content type allowed by this NodeTest (that is, the type annotation of the matched nodes).
Return AnyType if there are no restrictions. The default implementation returns AnyType.
|
getDefaultPriority | public double getDefaultPriority()(Code) | | get the default priority of this nodeTest when used as a pattern
|
getFingerprint | public int getFingerprint()(Code) | | Get the name of the nodes matched by this nodetest, if it matches a specific name.
Return -1 if the node test matches nodes of more than one name
|
getNodeKindMask | public int getNodeKindMask()(Code) | | Get a mask indicating which kinds of nodes this NodeTest can match. This is a combination
of bits: 1< |
getPrimitiveType | public int getPrimitiveType()(Code) | | Get the basic kind of object that this ItemType matches: for a NodeTest, this is the kind of node,
or Type.Node if it matches different kinds of nodes.
the node kind matched by this node test |
getRequiredNodeNames | public IntHashSet getRequiredNodeNames()(Code) | | 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.
|
getSuperType | public ItemType getSuperType(TypeHierarchy th)(Code) | | Get the supertype of this type. This isn't actually a well-defined concept: the types
form a lattice rather than a strict hierarchy.
Parameters: th - |
hashCode | public int hashCode()(Code) | | Returns a hash code value for the object.
|
matches | public boolean matches(int nodeType, int fingerprint, int annotation)(Code) | | Test whether this node test is satisfied by a given node.
Parameters: nodeType - The type of node to be matched Parameters: fingerprint - identifies the expanded name of the node to be matched. |
matches | public boolean matches(TinyTree tree, int nodeNr)(Code) | | 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.
Parameters: tree - the TinyTree containing the node Parameters: nodeNr - the number of the node within the TinyTree true if the node matches the NodeTest, otherwise false |
matches | public boolean matches(NodeInfo node)(Code) | | 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.
Parameters: node - the node to be matched |
|
|