org.apache.xalan.xsltc.dom

Class KeyIndex

public class KeyIndex extends DTMAxisIteratorBase

Stores mappings of key values or IDs to DTM nodes. Use of an instance of this class as a DTMAxisIterator is deprecated.

Author: Morten Jorgensen Santiago Pericas-Geertsen

Nested Class Summary
classKeyIndex.KeyIndexIterator
An iterator representing the result of a reference to either the XSLT key function or the XPath id function.
Constructor Summary
KeyIndex(int dummy)
Method Summary
voidadd(Object value, int node, int rootNode)
Adds a node to the node list for a given value.
DTMAxisIteratorcloneIterator()

Returns a deep copy of this iterator.

Use of an instance of this class as a DTMAxisIterator is deprecated.

intcontainsID(int node, Object value)
Given a context node and the argument to the XPath id function, checks whether the context node is in the set of nodes that results from that reference to the id function.
intcontainsKey(int node, Object value)

Given a context node and the second argument to the XSLT key function, checks whether the context node is in the set of nodes that results from that reference to the key function.

IntegerArraygetDOMNodeById(String id)
Return an IntegerArray for the DOM Node which has the given id.
KeyIndex.KeyIndexIteratorgetKeyIndexIterator(Object keyValue, boolean isKeyCall)
Create a KeyIndexIterator that iterates over the nodes that result from a reference to the XSLT key function or XPath id function.
KeyIndex.KeyIndexIteratorgetKeyIndexIterator(String keyValue, boolean isKeyCall)
Create a KeyIndexIterator that iterates over the nodes that result from a reference to the XSLT key function or XPath id function.
KeyIndex.KeyIndexIteratorgetKeyIndexIterator(DTMAxisIterator keyValue, boolean isKeyCall)
Create a KeyIndexIterator that iterates over the nodes that result from a reference to the XSLT key function or XPath id function.
intgetLast()

Returns the number of elements in this iterator.

Use of an instance of this class as a DTMAxisIterator is deprecated.

intgetPosition()

Returns the position of the current node in the set.

Use of an instance of this class as a DTMAxisIterator is deprecated.

intgetStartNode()

Get start to END should 'close' the iterator, i.e. subsequent call to next() should return END.

Use of an instance of this class as a DTMAxisIterator is deprecated.

voidgotoMark()

Restores the current node remembered by setMark().

Use of an instance of this class as a DTMAxisIterator is deprecated.

booleanisReverse()

True if this iterator has a reversed axis.

Use of an instance of this class as a DTMAxisIterator is deprecated.

voidlookupId(Object value)
This method must be called by the code generated by the id() function prior to returning the node iterator.
voidlookupKey(Object value)

This method must be called by the code generated by the key() function prior to returning the node iterator.

Use of an instance of this class as a DTMAxisIterator is deprecated.

voidmerge(KeyIndex other)
Merge the current value's nodeset set by lookupKey() with _nodes.
intnext()

Callers should not call next() after it returns END.

Use of an instance of this class as a DTMAxisIterator is deprecated.

DTMAxisIteratorreset()

Resets the iterator to the last start node.

Use of an instance of this class as a DTMAxisIterator is deprecated.

voidsetDom(DOM dom)
voidsetMark()

Remembers the current node for the next call to gotoMark().

Use of an instance of this class as a DTMAxisIterator is deprecated.

voidsetRestartable(boolean flag)
DTMAxisIteratorsetStartNode(int start)

Set start to END should 'close' the iterator, i.e. subsequent call to next() should return END.

Use of an instance of this class as a DTMAxisIterator is deprecated.

Constructor Detail

KeyIndex

public KeyIndex(int dummy)

Method Detail

add

public void add(Object value, int node, int rootNode)
Adds a node to the node list for a given value. Nodes will always be added in document order.

cloneIterator

public DTMAxisIterator cloneIterator()

Deprecated:

Returns a deep copy of this iterator.

Use of an instance of this class as a DTMAxisIterator is deprecated.

containsID

public int containsID(int node, Object value)
Given a context node and the argument to the XPath id function, checks whether the context node is in the set of nodes that results from that reference to the id function. This is used in the implementation of id patterns.

Parameters: node The context node value The argument to the id function

Returns: 1 if the context node is in the set of nodes returned by the reference to the id function; 0, otherwise

containsKey

public int containsKey(int node, Object value)

Given a context node and the second argument to the XSLT key function, checks whether the context node is in the set of nodes that results from that reference to the key function. This is used in the implementation of key patterns.

This particular KeyIndex object is the result evaluating the first argument to the key function, so it's not taken into any further account.

Parameters: node The context node value The second argument to the key function

Returns: 1 if and only if the context node is in the set of nodes returned by the reference to the key function; 0, otherwise

getDOMNodeById

public IntegerArray getDOMNodeById(String id)
Return an IntegerArray for the DOM Node which has the given id.

Parameters: id The id

Returns: A IntegerArray representing the Node whose id is the given value.

getKeyIndexIterator

public KeyIndex.KeyIndexIterator getKeyIndexIterator(Object keyValue, boolean isKeyCall)
Create a KeyIndexIterator that iterates over the nodes that result from a reference to the XSLT key function or XPath id function.

Parameters: keyValue A string or iterator representing the key values or id references isKeyCall A boolean indicating whether the iterator is being created for a reference key or id

getKeyIndexIterator

public KeyIndex.KeyIndexIterator getKeyIndexIterator(String keyValue, boolean isKeyCall)
Create a KeyIndexIterator that iterates over the nodes that result from a reference to the XSLT key function or XPath id function.

Parameters: keyValue A string representing the key values or id references isKeyCall A boolean indicating whether the iterator is being created for a reference key or id

getKeyIndexIterator

public KeyIndex.KeyIndexIterator getKeyIndexIterator(DTMAxisIterator keyValue, boolean isKeyCall)
Create a KeyIndexIterator that iterates over the nodes that result from a reference to the XSLT key function or XPath id function.

Parameters: keyValue An iterator representing the key values or id references isKeyCall A boolean indicating whether the iterator is being created for a reference key or id

getLast

public int getLast()

Deprecated:

Returns the number of elements in this iterator.

Use of an instance of this class as a DTMAxisIterator is deprecated.

getPosition

public int getPosition()

Deprecated:

Returns the position of the current node in the set.

Use of an instance of this class as a DTMAxisIterator is deprecated.

getStartNode

public int getStartNode()

Deprecated:

Get start to END should 'close' the iterator, i.e. subsequent call to next() should return END.

Use of an instance of this class as a DTMAxisIterator is deprecated.

gotoMark

public void gotoMark()

Deprecated:

Restores the current node remembered by setMark().

Use of an instance of this class as a DTMAxisIterator is deprecated.

isReverse

public boolean isReverse()

Deprecated:

True if this iterator has a reversed axis.

Use of an instance of this class as a DTMAxisIterator is deprecated.

lookupId

public void lookupId(Object value)

Deprecated:

This method must be called by the code generated by the id() function prior to returning the node iterator. The lookup code for key() and id() differ in the way the lookup value can be whitespace separated list of tokens for the id() function, but a single string for the key() function.

lookupKey

public void lookupKey(Object value)

Deprecated:

This method must be called by the code generated by the key() function prior to returning the node iterator.

Use of an instance of this class as a DTMAxisIterator is deprecated.

merge

public void merge(KeyIndex other)

Deprecated:

Merge the current value's nodeset set by lookupKey() with _nodes.

next

public int next()

Deprecated:

Callers should not call next() after it returns END.

Use of an instance of this class as a DTMAxisIterator is deprecated.

reset

public DTMAxisIterator reset()

Deprecated:

Resets the iterator to the last start node.

Use of an instance of this class as a DTMAxisIterator is deprecated.

setDom

public void setDom(DOM dom)

setMark

public void setMark()

Deprecated:

Remembers the current node for the next call to gotoMark().

Use of an instance of this class as a DTMAxisIterator is deprecated.

setRestartable

public void setRestartable(boolean flag)

setStartNode

public DTMAxisIterator setStartNode(int start)

Deprecated:

Set start to END should 'close' the iterator, i.e. subsequent call to next() should return END.

Use of an instance of this class as a DTMAxisIterator is deprecated.

Copyright B) 2006 Apache XML Project. All Rights Reserved.