Package gnu.xquery.util
Class RelativeStepFilter
- java.lang.Object
-
- gnu.lists.FilterConsumer
-
- gnu.xquery.util.RelativeStepFilter
-
- All Implemented Interfaces:
Consumer
,PositionConsumer
,XConsumer
,Appendable
,Consumer<Object>
,DoubleConsumer
,IntConsumer
,LongConsumer
public class RelativeStepFilter extends FilterConsumer implements PositionConsumer
Used to filter the output of RelativeStep. Atomic values are passed though as-is, while node values are sorted by document order and duplicates removed. An exception is thrown if there is a mix of atoms and nodes. Informally:E1/E2
is implemented as:RelativeStepFilter(for $dot in E1 return E2)
.
-
-
Field Summary
-
Fields inherited from class gnu.lists.FilterConsumer
attributeType, base, inAttribute, skipping
-
-
Constructor Summary
Constructors Constructor Description RelativeStepFilter(Consumer base)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
beforeContent()
void
finish()
void
writeObject(Object v)
void
writePosition(AbstractSequence seq, int ipos)
Consume a single position pair.void
writePosition(SeqPosition position)
Consume node at current position.-
Methods inherited from class gnu.lists.FilterConsumer
append, append, append, beforeNode, beginEntity, endAttribute, endDocument, endElement, endEntity, ignoring, 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
-
-
-
-
Constructor Detail
-
RelativeStepFilter
public RelativeStepFilter(Consumer base)
-
-
Method Detail
-
writePosition
public void writePosition(SeqPosition position)
Description copied from interface:PositionConsumer
Consume node at current position. The caller may invalidate or change the position after consume returns, so if the consumer wants to save it, it needs to copy it.- Specified by:
writePosition
in interfacePositionConsumer
-
writeObject
public void writeObject(Object v)
- Specified by:
writeObject
in interfaceConsumer
- Overrides:
writeObject
in classFilterConsumer
-
beforeContent
protected void beforeContent()
- Overrides:
beforeContent
in classFilterConsumer
-
writePosition
public void writePosition(AbstractSequence seq, int ipos)
Description copied from interface:PositionConsumer
Consume a single position pair. This PositionConsumer may assume the sequence does no reference management; i.e. that copyPos is trivial and releasePos is a no-op. If that is not the case, use consume(TreePosition) instead.- Specified by:
writePosition
in interfacePositionConsumer
-
finish
public void finish()
-
-