|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object net.sf.saxon.pattern.NodeTest net.sf.saxon.pattern.CombinedNodeTest
public class CombinedNodeTest
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))
Constructor Summary | |
---|---|
CombinedNodeTest(NodeTest nt1,
int operator,
NodeTest nt2)
Create a NodeTest that combines two other node tests |
Method Summary | |
---|---|
boolean |
equals(Object other)
Indicates whether some other object is "equal to" this one. |
AtomicType |
getAtomizedItemType()
Get the item type of the atomic values that will be produced when an item of this type is atomized (assuming that atomization succeeds) |
NodeTest[] |
getComponentNodeTests()
Get the two parts of the combined node test |
SchemaType |
getContentType()
Get the content type allowed by this NodeTest (that is, the type annotation of the matched nodes). |
double |
getDefaultPriority()
Get the default priority of this nodeTest when used as a pattern. |
int |
getFingerprint()
Get the name of the nodes matched by this nodetest, if it matches a specific name. |
int |
getNodeKindMask()
Get a mask indicating which kinds of nodes this NodeTest can match. |
int |
getOperator()
Get the operator used to combine the two node tests: one of Token.UNION ,
Token.INTERSECT , Token.EXCEPT , |
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. |
IntSet |
getRequiredNodeNames()
Get the set of node names allowed by this NodeTest. |
ItemType |
getSuperType(TypeHierarchy th)
Get the supertype of this type. |
int |
hashCode()
Returns a hash code value for the object. |
boolean |
isAtomizable()
Ask whether values of this type are atomizable |
boolean |
isNillable()
Determine whether the content type (if present) is nillable |
boolean |
matches(int nodeKind,
NodeName name,
int annotation)
Test whether this node test is satisfied by a given node. |
boolean |
matches(NodeInfo node)
Test whether this node test is satisfied by a given node. |
boolean |
matches(TinyTree tree,
int nodeNr)
Test whether this node test is satisfied by a given node on a TinyTree. |
String |
toString()
|
String |
toString(NamePool pool)
Display the type descriptor for diagnostics |
void |
visitNamedSchemaComponents(SchemaComponentVisitor visitor)
Visit all the schema components used in this ItemType definition |
Methods inherited from class net.sf.saxon.pattern.NodeTest |
---|
getPrimitiveItemType, isAtomicType, isPlainType, matches, matchesItem |
Methods inherited from class java.lang.Object |
---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
Constructor Detail |
---|
public CombinedNodeTest(NodeTest nt1, int operator, NodeTest nt2)
nt1
- the first operand. Note that if the defaultPriority of the pattern
is required, it will be taken from that of the first operand.operator
- one of Token.UNION, Token.INTERSECT, Token.EXCEPTnt2
- the second operandMethod Detail |
---|
public boolean matches(int nodeKind, NodeName name, int 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 boolean matches(TinyTree tree, int nodeNr)
matches
in class NodeTest
tree
- the TinyTree containing the nodenodeNr
- the number of the node within the TinyTree
public boolean matches(NodeInfo node)
matches
in class NodeTest
node
- the node to be matchedpublic String toString(NamePool pool)
NodeTest
toString
in interface ItemType
toString
in class NodeTest
pool
- the name pool
public String toString()
toString
in class Object
public ItemType getSuperType(TypeHierarchy th)
getSuperType
in interface ItemType
getSuperType
in class NodeTest
th
- the type hierarchy cache
public int getNodeKindMask()
getNodeKindMask
in class NodeTest
public int getPrimitiveType()
getPrimitiveType
in interface ItemType
getPrimitiveType
in class NodeTest
public IntSet getRequiredNodeNames()
getRequiredNodeNames
in class NodeTest
public SchemaType getContentType()
getContentType
in class NodeTest
public AtomicType getAtomizedItemType()
getAtomizedItemType
in interface ItemType
getAtomizedItemType
in class NodeTest
public boolean isAtomizable()
isAtomizable
in interface ItemType
isAtomizable
in class NodeTest
public int getFingerprint()
getFingerprint
in class NodeTest
public boolean isNillable()
isNillable
in class NodeTest
public int hashCode()
hashCode
in class Object
public boolean equals(Object other)
equals
in class Object
public double getDefaultPriority()
public NodeTest[] getComponentNodeTests()
public int getOperator()
Token.UNION
,
Token.INTERSECT
, Token.EXCEPT
,
public void visitNamedSchemaComponents(SchemaComponentVisitor visitor) throws XPathException
visitNamedSchemaComponents
in interface ItemType
visitNamedSchemaComponents
in class NodeTest
visitor
- the visitor class to be called when each component is visited
XPathException
- if an error occurs
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |