Class 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/E2 is implemented as: RelativeStepFilter(for $dot in E1 return E2).
    • 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 interface PositionConsumer
      • 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 interface PositionConsumer
      • finish

        public void finish()