Top Description Fields Constructors Methods
com.sun.org.apache.xpath.internal.axes

public Class UnionChildIterator

extends ChildTestIterator
Class Inheritance
Imports
com.sun.org.apache.xml.internal.dtm.DTMIterator, com.sun.org.apache.xml.internal.utils.QName, com.sun.org.apache.xpath.internal.XPathContext, com.sun.org.apache.xpath.internal.objects.XObject, com.sun.org.apache.xpath.internal.patterns.NodeTest, java.util.List

This class defines a simplified type of union iterator that only tests along the child axes. If the conditions are right, it is much faster than using a UnionPathIterator.

Field Summary

Modifier and TypeField and Description
private PredicatedNodeTest[]
m_nodeTests

Even though these may hold full LocPathIterators, this array does not have to be cloned, since only the node test and predicate portion are used, and these only need static information.

pack-priv static final long
Inherited from com.sun.org.apache.xpath.internal.axes.ChildTestIterator:
m_traverser

Constructor Summary

AccessConstructor and Description
public
UnionChildIterator()

Constructor for UnionChildIterator

Method Summary

Modifier and TypeMethod and Description
public short

Returns:

a constant to determine whether the node is accepted, rejected, or skipped, as defined above .
acceptNode
(int
The node to check to see if it passes the filter or not.
n
)

Overrides com.sun.org.apache.xpath.internal.axes.PredicatedNodeTest.acceptNode.

Test whether a specified node is visible in the logical view of a TreeWalker or NodeIterator.

public void
addNodeTest(PredicatedNodeTest
reference to a NodeTest, which will be added directly to the list of node tests (in other words, it will not be cloned). The parent of this test will be set to this object.
test
)

Add a node test to the union list.

public void
fixupVariables(List<QName>
List of QNames that correspond to variables. This list should be searched backwards for the first qualified name that corresponds to the variable reference qname. The position of the QName in the vector from the start of the vector will be its position in the stack frame (but variables above the globalsTop value will need to be offset to the current stack frame).
vars
,
int globalsSize)

Overrides com.sun.org.apache.xpath.internal.axes.PredicatedNodeTest.fixupVariables.

This function is used to fixup variables from QNames to stack frame indexes at stylesheet build time.

Inherited from com.sun.org.apache.xpath.internal.axes.ChildTestIterator:
cloneWithResetdetachgetAxisgetNextNodesetRoot

Field Detail

m_nodeTestsback to summary
private PredicatedNodeTest[] m_nodeTests

Even though these may hold full LocPathIterators, this array does not have to be cloned, since only the node test and predicate portion are used, and these only need static information. However, also note that index predicates can not be used!

serialVersionUIDback to summary
pack-priv static final long serialVersionUID

Hides com.sun.org.apache.xpath.internal.axes.ChildTestIterator.serialVersionUID.

Constructor Detail

UnionChildIteratorback to summary
public UnionChildIterator()

Constructor for UnionChildIterator

Method Detail

acceptNodeback to summary
public short acceptNode(int n)

Overrides com.sun.org.apache.xpath.internal.axes.PredicatedNodeTest.acceptNode.

Test whether a specified node is visible in the logical view of a TreeWalker or NodeIterator. This function will be called by the implementation of TreeWalker and NodeIterator; it is not intended to be called directly from user code.

Parameters
n:int

The node to check to see if it passes the filter or not.

Returns:short

a constant to determine whether the node is accepted, rejected, or skipped, as defined above .

addNodeTestback to summary
public void addNodeTest(PredicatedNodeTest test)

Add a node test to the union list.

Parameters
test:PredicatedNodeTest

reference to a NodeTest, which will be added directly to the list of node tests (in other words, it will not be cloned). The parent of this test will be set to this object.

fixupVariablesback to summary
public void fixupVariables(List<QName> vars, int globalsSize)

Overrides com.sun.org.apache.xpath.internal.axes.PredicatedNodeTest.fixupVariables.

This function is used to fixup variables from QNames to stack frame indexes at stylesheet build time.

Parameters
vars:List<QName>

List of QNames that correspond to variables. This list should be searched backwards for the first qualified name that corresponds to the variable reference qname. The position of the QName in the vector from the start of the vector will be its position in the stack frame (but variables above the globalsTop value will need to be offset to the current stack frame).