com.saxonica.stream.feed
Class BufferingFeed

java.lang.Object
  extended by com.saxonica.stream.feed.ItemFeed
      extended by com.saxonica.stream.feed.BufferingFeed
All Implemented Interfaces:
Feed

public class BufferingFeed
extends ItemFeed

A BufferingFeed is used to wrap an expression that does not have intrinsic capability to accept streamed input. The expression must have been modified to read its input from a SuppliedParameterReference referring to the dynamic context stack. This feed buffers up the streamed input, and on its close() method calls the wrapped expression having placed the buffered input onto the context stack, from where the expression will now read it.


Constructor Summary
BufferingFeed(Expression expr, Feed result, Stack<XPathContext> contextStack)
           
 
Method Summary
 void append(Item item)
          Supply an item to the feed
 void close()
          Signal the end of the sequence of items
 
Methods inherited from class com.saxonica.stream.feed.ItemFeed
getContext, getContextStack, getExpression, getPipelineConfiguration, getResult, open, setPipelineConfiguration
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BufferingFeed

public BufferingFeed(Expression expr,
                     Feed result,
                     Stack<XPathContext> contextStack)
Method Detail

append

public void append(Item item)
            throws XPathException
Supply an item to the feed

Specified by:
append in interface Feed
Specified by:
append in class ItemFeed
Parameters:
item - the item being fed
Throws:
XPathException - to report any failure

close

public void close()
           throws XPathException
Signal the end of the sequence of items

Specified by:
close in interface Feed
Overrides:
close in class ItemFeed
Throws:
XPathException - to report any failure


Copyright (c) 2004-2011 Saxonica Limited. All rights reserved.