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

base, 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

beginAttribute, beginDocument, beginGroup, endAttribute, endDocument, endGroup, ignoring, write, writeBoolean, writeChar, writeChars, 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