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

## Class RankStream

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

All Implemented Interfaces:
  Closeable, Serializable, AutoCloseable, Expressible

    public class RankStream
    extends TupleStream
    implements Expressible

Iterates over a TupleStream and Ranks the topN tuples based on a Comparator.

See Also:
  Serialized Form

### Constructor Summary

Constructors
Constructor and Description
`RankStream(StreamExpression expression, StreamFactory factory)`
`RankStream(TupleStream tupleStream, int size, StreamComparator comp)`

### Method Summary

All Methods Instance Methods Concrete Methods
`List<TupleStream>` `children()`
`void` `close()`
`StreamComparator` `getComparator()`
`int` `getCost()`
`StreamComparator` `getStreamSort()` Return the stream sort - ie, the order in which records are returned
`void` `open()`
`Tuple` `read()`
`void` `setStreamContext(StreamContext context)`
`StreamExpression` `toExpression(StreamFactory factory)`

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

`writeStreamClose, writeStreamOpen`

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

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

### Constructor Detail

#### RankStream

    public RankStream(TupleStream tupleStream,
                      int size,
                      StreamComparator comp)
               throws IOException

Throws:
  `IOException`

#### RankStream

    public RankStream(StreamExpression expression,
                      StreamFactory factory)
               throws IOException

Throws:
  `IOException`

### Method Detail

#### toExpression

    public StreamExpression toExpression(StreamFactory factory)
                                  throws IOException

Specified by:
  `toExpression` in interface `Expressible`
Throws:
  `IOException`

#### setStreamContext

    public void setStreamContext(StreamContext context)

Specified by:
  `setStreamContext` in class `TupleStream`

#### children

    public List<TupleStream> children()

Specified by:
  `children` in class `TupleStream`

#### open

    public void open()
              throws IOException

Specified by:
  `open` in class `TupleStream`
Throws:
  `IOException`

#### close

    public void close()
               throws IOException

Specified by:
  `close` in interface `Closeable`
Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in class `TupleStream`
Throws:
  `IOException`

#### getComparator

    public StreamComparator getComparator()

#### read

    public Tuple read()
               throws IOException

Specified by:
  `read` in class `TupleStream`
Throws:
  `IOException`

#### getStreamSort

    public StreamComparator getStreamSort()

Return the stream sort - ie, the order in which records are returned

Specified by:
  `getStreamSort` in class `TupleStream`

#### getCost

    public int getCost()

Overrides:
  `getCost` in class `TupleStream`