Package gnu.xquery.util
Class OrderedTuples
java.lang.Object
gnu.lists.FilterConsumer
gnu.xquery.util.OrderedTuples
- All Implemented Interfaces:
Consumer
,XConsumer
,Appendable
,Consumer<Object>
,DoubleConsumer
,IntConsumer
,LongConsumer
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
Modifier and TypeMethodDescriptionboolean
ignoring()
True if consumer is ignoring rest of element.static OrderedTuples
void
run$X
(CallContext ctx) void
Methods inherited from class gnu.lists.FilterConsumer
append, append, append, beforeContent, beforeNode, beginEntity, endAttribute, endDocument, endElement, endEntity, startAttribute, startDocument, startElement, write, write, write, write, writeBoolean, writeCDATA, writeComment, writeDouble, writeFloat, writeInt, writeLong, writeProcessingInstruction
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface java.util.function.DoubleConsumer
andThen
Methods inherited from interface java.util.function.IntConsumer
andThen
Methods inherited from interface java.util.function.LongConsumer
andThen
-
Method Details
-
ignoring
public boolean ignoring()Description copied from interface:Consumer
True if consumer is ignoring rest of element. The producer can use this information to skip ahead.- Specified by:
ignoring
in interfaceConsumer
- Overrides:
ignoring
in classFilterConsumer
-
writeObject
- Specified by:
writeObject
in interfaceConsumer
- Overrides:
writeObject
in classFilterConsumer
-
make$V
-
run$X
- Throws:
Throwable
-