Class JoinStream
- java.lang.Object
- 
- org.apache.solr.client.solrj.io.stream.TupleStream
- 
- org.apache.solr.client.solrj.io.stream.JoinStream
 
 
- 
- All Implemented Interfaces:
- Closeable,- Serializable,- AutoCloseable,- Expressible,- MapSerializable,- MapWriter,- NavigableObject
 - Direct Known Subclasses:
- BiJoinStream
 
 public abstract class JoinStream extends TupleStream implements Expressible Defines a JoinStream which can hold N streams, all joined with the same equalitor- Since:
- 6.0.0
- See Also:
- Serialized Form
 
- 
- 
Nested Class Summary- 
Nested classes/interfaces inherited from class org.apache.solr.client.solrj.io.stream.TupleStreamTupleStream.IgnoreException
 - 
Nested classes/interfaces inherited from interface org.apache.solr.common.MapWriterMapWriter.EntryWriter
 
- 
 - 
Field SummaryFields Modifier and Type Field Description protected StreamEqualitoreq
 - 
Constructor SummaryConstructors Constructor Description JoinStream(StreamEqualitor eq, TupleStream first, TupleStream second, TupleStream... others)JoinStream(StreamExpression expression, StreamFactory factory)
 - 
Method SummaryAll Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description List<TupleStream>children()voidclose()intgetCost()PushBackStreamgetStream(int idx)protected booleanisValidTupleOrder()protected TupleloadEqualTupleGroup(PushBackStream stream, LinkedList<Tuple> group, StreamComparator groupComparator)Given the stream, start from beginning and load group with all tuples that are equal to the first in stream (including the first one in the stream).voidopen()voidsetStreamContext(StreamContext context)ExplanationtoExplanation(StreamFactory factory)Returns an explanation about the stream objectStreamExpressiontoExpression(StreamFactory factory)protected abstract voidvalidateTupleOrder()- 
Methods inherited from class org.apache.solr.client.solrj.io.stream.TupleStreamgetShards, getShards, getStreamNodeId, getStreamSort, read, writeMap
 - 
Methods inherited from class java.lang.Objectclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 - 
Methods inherited from interface org.apache.solr.common.NavigableObject_forEachEntry, _forEachEntry, _forEachEntry, _get, _get, _getStr, _getStr, _size
 
- 
 
- 
- 
- 
Field Detail- 
eqprotected StreamEqualitor eq 
 
- 
 - 
Constructor Detail- 
JoinStreampublic JoinStream(StreamEqualitor eq, TupleStream first, TupleStream second, TupleStream... others) 
 - 
JoinStreampublic JoinStream(StreamExpression expression, StreamFactory factory) throws IOException - Throws:
- IOException
 
 
- 
 - 
Method Detail- 
validateTupleOrderprotected abstract void validateTupleOrder() throws IOException- Throws:
- IOException
 
 - 
toExpressionpublic StreamExpression toExpression(StreamFactory factory) throws IOException - Specified by:
- toExpressionin interface- Expressible
- Throws:
- IOException
 
 - 
toExplanationpublic Explanation toExplanation(StreamFactory factory) throws IOException Description copied from interface:ExpressibleReturns an explanation about the stream object- Specified by:
- toExplanationin interface- Expressible
- Specified by:
- toExplanationin class- TupleStream
- 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
 
 - 
setStreamContextpublic void setStreamContext(StreamContext context) - Specified by:
- setStreamContextin class- TupleStream
 
 - 
openpublic void open() throws IOException- Specified by:
- openin class- TupleStream
- Throws:
- IOException
 
 - 
closepublic void close() throws IOException- Specified by:
- closein interface- AutoCloseable
- Specified by:
- closein interface- Closeable
- Specified by:
- closein class- TupleStream
- Throws:
- IOException
 
 - 
childrenpublic List<TupleStream> children() - Specified by:
- childrenin class- TupleStream
 
 - 
getStreampublic PushBackStream getStream(int idx) 
 - 
isValidTupleOrderprotected boolean isValidTupleOrder() 
 - 
loadEqualTupleGroupprotected Tuple loadEqualTupleGroup(PushBackStream stream, LinkedList<Tuple> group, StreamComparator groupComparator) throws IOException Given the stream, start from beginning and load group with all tuples that are equal to the first in stream (including the first one in the stream). All matched tuples are removed from the stream. Result is at least one tuple will be read from the stream and 0 or more tuples will exist in the group. If the first tuple is EOF then the group will have 0 items. Else it will have at least one item. The first group member is returned.- Parameters:
- group- - should be empty
- Throws:
- IOException
 
 - 
getCostpublic int getCost() - Overrides:
- getCostin class- TupleStream
 
 
- 
 
-