org.apache.solr.client.solrj.io.stream

## Class BiJoinStream

- java.lang.Object
- - org.apache.solr.client.solrj.io.stream.TupleStream
  - - org.apache.solr.client.solrj.io.stream.JoinStream
    - - org.apache.solr.client.solrj.io.stream.BiJoinStream

All Implemented Interfaces:
  Closeable, Serializable, AutoCloseable, Expressible

Direct Known Subclasses:
  InnerJoinStream, LeftOuterJoinStream

    public abstract class BiJoinStream
    extends JoinStream
    implements Expressible

Joins leftStream with rightStream based on a Equalitor. Both streams must be sorted by the fields being joined on. Resulting stream is sorted by the equalitor.

See Also:
  Serialized Form

### Field Summary

Fields
`protected StreamComparator` `iterationComparator`
`protected PushBackStream` `leftStream`
`protected StreamComparator` `leftStreamComparator`
`protected PushBackStream` `rightStream`
`protected StreamComparator` `rightStreamComparator`

### Fields inherited from class org.apache.solr.client.solrj.io.stream.JoinStream

`eq`

### Constructor Summary

Constructors
Constructor and Description
`BiJoinStream(StreamExpression expression, StreamFactory factory)`
`BiJoinStream(TupleStream leftStream, TupleStream rightStream, StreamEqualitor eq)`

### Method Summary

All Methods Instance Methods Concrete Methods
`protected void` `validateTupleOrder()`

### Methods inherited from class org.apache.solr.client.solrj.io.stream.JoinStream

`children, close, getCost, getStream, isValidTupleOrder, loadEqualTupleGroup, open, setStreamContext, toExpression`

### Methods inherited from class org.apache.solr.client.solrj.io.stream.TupleStream

`getStreamSort, read, writeStreamClose, writeStreamOpen`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface org.apache.solr.client.solrj.io.stream.expr.Expressible

`toExpression`

### Field Detail

#### leftStream

    protected PushBackStream leftStream

#### rightStream

    protected PushBackStream rightStream

#### iterationComparator

    protected StreamComparator iterationComparator

#### leftStreamComparator

    protected StreamComparator leftStreamComparator

#### rightStreamComparator

    protected StreamComparator rightStreamComparator

### Constructor Detail

#### BiJoinStream

    public BiJoinStream(TupleStream leftStream,
                        TupleStream rightStream,
                        StreamEqualitor eq)
                 throws IOException

Throws:
  `IOException`

#### BiJoinStream

    public BiJoinStream(StreamExpression expression,
                        StreamFactory factory)
                 throws IOException

Throws:
  `IOException`

### Method Detail

#### validateTupleOrder

    protected void validateTupleOrder()
                               throws IOException

Specified by:
  `validateTupleOrder` in class `JoinStream`
Throws:
  `IOException`