Class HavingStream
- java.lang.Object
-
- org.apache.solr.client.solrj.io.stream.TupleStream
-
- org.apache.solr.client.solrj.io.stream.HavingStream
-
- 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 HavingStream extends TupleStream implements Expressible
The HavingStream iterates over an internal stream and applies a BooleanOperation to each tuple. If the BooleanOperation evaluates to true then the HavingStream emits the tuple, if it returns false the tuple is not emitted.- Since:
- 6.4.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 HavingStream(StreamExpression expression, StreamFactory factory)
HavingStream(TupleStream stream, RecursiveBooleanEvaluator evaluator)
-
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 returnedvoid
open()
Tuple
read()
void
setStreamContext(StreamContext context)
Explanation
toExplanation(StreamFactory factory)
Returns an explanation about the stream objectStreamExpression
toExpression(StreamFactory factory)
-
Methods inherited from class org.apache.solr.client.solrj.io.stream.TupleStream
getShards, getShards, getStreamNodeId, writeMap
-
-
-
-
Constructor Detail
-
HavingStream
public HavingStream(TupleStream stream, RecursiveBooleanEvaluator evaluator) throws IOException
- Throws:
IOException
-
HavingStream
public HavingStream(StreamExpression expression, StreamFactory factory) throws IOException
- Throws:
IOException
-
-
Method Detail
-
toExpression
public StreamExpression 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
-
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- Specified by:
getStreamSort
in classTupleStream
-
getCost
public int getCost()
- Overrides:
getCost
in classTupleStream
-
-