gnu.xquery.util

Class OrderedTuples

Implemented Interfaces:
Consumer

public class OrderedTuples
extends FilterConsumer

Helper class used in conjunction with OrderedMap. It has the tuples from the for and let-clauses, as filtered by the where-clause. The tuples are sorted using a linked-list version of merge sort. The sequence of n tuples for m variables is represented using an array of length n where each element is an array of length m. A possible future optimization would be to instead use m different arrays of of length n. The advantage is that each of the M arrays could have the "correct" type for each variable, and so we avoid casts or boxing/unboxing.

Field Summary

Fields inherited from class gnu.lists.FilterConsumer

attributeType, base, inAttribute, skipping

Method Summary

static OrderedTuples
make$V(Procedure body, Object[] comps)
void
run$X(CallContext ctx)
void
writeObject(Object v)

Methods inherited from class gnu.lists.FilterConsumer

beforeContent, endAttribute, endDocument, endElement, ignoring, startAttribute, startDocument, startElement, write, write, write, write, writeBoolean, writeDouble, writeFloat, writeInt, writeLong, writeObject

Method Details

make$V

public static OrderedTuples make$V(Procedure body,
                                   Object[] comps)

run$X

public void run$X(CallContext ctx)
            throws Throwable

writeObject

public void writeObject(Object v)
Specified by:
writeObject in interface Consumer
Overrides:
writeObject in interface FilterConsumer