Class PushBackStream
- java.lang.Object
-
- org.apache.solr.client.solrj.io.stream.TupleStream
-
- org.apache.solr.client.solrj.io.stream.PushBackStream
-
- All Implemented Interfaces:
Closeable
,Serializable
,AutoCloseable
,Expressible
,org.apache.solr.common.MapSerializable
,org.apache.solr.common.MapWriter
,org.apache.solr.common.NavigableObject
,org.noggit.JSONWriter.Writable
public class PushBackStream extends TupleStream implements Expressible
A TupleStream that allows a single Tuple to be pushed back onto the stream after it's been read. This is a useful class when building streams that maintain the order of Tuples between multiple substreams.- Since:
- 5.1.0
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.solr.client.solrj.io.stream.TupleStream
TupleStream.IgnoreException
-
-
Constructor Summary
Constructors Constructor Description PushBackStream(TupleStream stream)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description List<TupleStream>
children()
void
close()
int
getCost()
StreamComparator
getStreamSort()
Return the stream sort - ie, the order in which records are returned This returns the streamSort of the substreamvoid
open()
void
pushBack(Tuple tuple)
Tuple
read()
void
setStreamContext(StreamContext context)
Explanation
toExplanation(StreamFactory factory)
Returns an explanation about the stream objectStreamExpressionParameter
toExpression(StreamFactory factory)
-
Methods inherited from class org.apache.solr.client.solrj.io.stream.TupleStream
getShards, getShards, getStreamNodeId, writeMap
-
-
-
-
Constructor Detail
-
PushBackStream
public PushBackStream(TupleStream stream)
-
-
Method Detail
-
toExpression
public StreamExpressionParameter toExpression(StreamFactory factory) throws IOException
- Specified by:
toExpression
in interfaceExpressible
- Throws:
IOException
-
toExplanation
public Explanation toExplanation(StreamFactory factory) throws IOException
Description copied from interface:Expressible
Returns an explanation about the stream object- Specified by:
toExplanation
in interfaceExpressible
- Specified by:
toExplanation
in classTupleStream
- Parameters:
factory
- Stream factory for this, contains information about the function name- Returns:
- Explanation about this stream object containing explanations of any child stream objects
- Throws:
IOException
- throw on any error
-
setStreamContext
public void setStreamContext(StreamContext context)
- Specified by:
setStreamContext
in classTupleStream
-
children
public List<TupleStream> children()
- Specified by:
children
in classTupleStream
-
open
public void open() throws IOException
- Specified by:
open
in classTupleStream
- Throws:
IOException
-
close
public void close() throws IOException
- Specified by:
close
in interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Specified by:
close
in classTupleStream
- Throws:
IOException
-
pushBack
public void pushBack(Tuple tuple)
-
read
public Tuple read() throws IOException
- Specified by:
read
in classTupleStream
- Throws:
IOException
-
getStreamSort
public StreamComparator getStreamSort()
Return the stream sort - ie, the order in which records are returned This returns the streamSort of the substream- Specified by:
getStreamSort
in classTupleStream
-
getCost
public int getCost()
- Overrides:
getCost
in classTupleStream
-
-