Package gnu.xquery.util
Class RelativeStepFilter
- java.lang.Object
-
- gnu.lists.FilterConsumer
-
- gnu.xquery.util.RelativeStepFilter
-
- All Implemented Interfaces:
Consumer,PositionConsumer,XConsumer,java.lang.Appendable,java.util.function.Consumer<java.lang.Object>,java.util.function.DoubleConsumer,java.util.function.IntConsumer,java.util.function.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/E2is 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 voidbeforeContent()voidfinish()voidwriteObject(java.lang.Object v)voidwritePosition(AbstractSequence seq, int ipos)Consume a single position pair.voidwritePosition(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
-
-
-
-
Constructor Detail
-
RelativeStepFilter
public RelativeStepFilter(Consumer base)
-
-
Method Detail
-
writePosition
public void writePosition(SeqPosition position)
Description copied from interface:PositionConsumerConsume 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:
writePositionin interfacePositionConsumer
-
writeObject
public void writeObject(java.lang.Object v)
- Specified by:
writeObjectin interfaceConsumer- Overrides:
writeObjectin classFilterConsumer
-
beforeContent
protected void beforeContent()
- Overrides:
beforeContentin classFilterConsumer
-
writePosition
public void writePosition(AbstractSequence seq, int ipos)
Description copied from interface:PositionConsumerConsume 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:
writePositionin interfacePositionConsumer
-
finish
public void finish()
-
-