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

## Class ComplementStream

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

- All Implemented Interfaces:
    Closeable, Serializable, AutoCloseable, Expressible

      public class ComplementStream
      extends TupleStream
      implements Expressible

  Emits tuples from streamA which do not exist in streamB. Resulting tuples are ordered the same as they were in streamA. Both streams must be sorted by the fields being compared.
  See Also:
    Serialized Form

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ComplementStream(StreamExpression expression, StreamFactory factory)`
    `ComplementStream(TupleStream streamA, TupleStream streamB, StreamEqualitor eq)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `List<TupleStream>` | `children()`
    `void` | `close()`
    `int` | `getCost()`
    `StreamComparator` | `getStreamSort()` Return the stream sort - ie, the order in which records are returned
    `void` | `open()`
    `Tuple` | `read()`
    `void` | `setStreamContext(StreamContext context)`
    `Explanation` | `toExplanation(StreamFactory factory)` Returns an explanation about the stream object
    `StreamExpression` | `toExpression(StreamFactory factory)`

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

      `getStreamNodeId, writeStreamClose, writeStreamOpen`

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

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

- - ### Constructor Detail

    - #### ComplementStream

          public ComplementStream(TupleStream streamA,
                                  TupleStream streamB,
                                  StreamEqualitor eq)
                           throws IOException

      Throws:
        `IOException`

    - #### ComplementStream

          public ComplementStream(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`

    - #### toExplanation

          public Explanation toExplanation(StreamFactory factory)
                                    throws IOException

      Description copied from interface: `Expressible`
      Returns an explanation about the stream object
      Specified by:
        `toExplanation` in interface `Expressible`
      Specified by:
        `toExplanation` in 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

    - #### 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`

    - #### 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`

Copyright © 2000-2016 Apache Software Foundation. All Rights Reserved.