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

## Interface Expressible

All Known Subinterfaces:
  ReduceOperation, StreamComparator, StreamEqualitor, StreamOperation

All Known Implementing Classes:
  BiJoinStream, CloudSolrStream, ComplementStream, ConcatOperation, CountMetric, DaemonStream, DistinctOperation, FacetStream, FieldComparator, FieldEqualitor, GatherNodesStream, GroupOperation, HashJoinStream, InnerJoinStream, IntersectStream, JDBCStream, JoinStream, LeftOuterJoinStream, MaxMetric, MeanMetric, MergeStream, Metric, MinMetric, MultipleFieldComparator, MultipleFieldEqualitor, OuterHashJoinStream, ParallelStream, PushBackStream, RandomStream, RankStream, ReducerStream, ReplaceOperation, ReplaceWithFieldOperation, ReplaceWithValueOperation, RollupStream, SelectStream, ShortestPathStream, SortStream, StatsStream, SumMetric, TopicStream, UniqueStream, UpdateStream

    public interface Expressible

Defines a stream that can be expressed in an expression

### Method Summary

All Methods Instance Methods Abstract Methods
`Explanation` `toExplanation(StreamFactory factory)` Returns an explanation about the stream object
`StreamExpressionParameter` `toExpression(StreamFactory factory)`

### Method Detail

#### toExpression

    StreamExpressionParameter toExpression(StreamFactory factory)
                                    throws IOException

Throws:
  `IOException`

#### toExplanation

    Explanation toExplanation(StreamFactory factory)
                       throws IOException

Returns an explanation about the stream object

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