Package org.apache.solr.client.solrj.io.eval

## Interface StreamEvaluator

All Superinterfaces:
  `Expressible`, `Serializable`

All Known Implementing Classes:
  `AbsoluteValueEvaluator`, `AddEvaluator`, `AkimaEvaluator`, `AndEvaluator`, `AnovaEvaluator`, `AppendEvaluator`, `ArcCosineEvaluator`, `ArcSineEvaluator`, `ArcTangentEvaluator`, `ArrayEvaluator`, `AscEvaluator`, `BetaDistributionEvaluator`, `BicubicSplineEvaluator`, `BinomialCoefficientEvaluator`, `BinomialDistributionEvaluator`, `CanberraEvaluator`, `CeilingEvaluator`, `ChebyshevDistanceEvaluator`, `ChebyshevEvaluator`, `ChiSquareDataSetEvaluator`, `CoalesceEvaluator`, `ColumnAtEvaluator`, `ColumnCountEvaluator`, `ColumnEvaluator`, `ConcatEvaluator`, `ConstantDistributionEvaluator`, `ConversionEvaluator`, `ConvexHullEvaluator`, `ConvolutionEvaluator`, `CopyOfEvaluator`, `CopyOfRangeEvaluator`, `CorrelationEvaluator`, `CorrelationSignificanceEvaluator`, `CosineDistanceEvaluator`, `CosineEvaluator`, `CosineSimilarityEvaluator`, `CovarianceEvaluator`, `CubedRootEvaluator`, `CumulativeProbabilityEvaluator`, `DateEvaluator`, `DbscanEvaluator`, `DensityEvaluator`, `DerivativeEvaluator`, `DescribeEvaluator`, `DistanceEvaluator`, `DivideEvaluator`, `DotProductEvaluator`, `DoubleEvaluator`, `EarthMoversEvaluator`, `EBEAddEvaluator`, `EBEDivideEvaluator`, `EBEMultiplyEvaluator`, `EBESubtractEvaluator`, `EmpiricalDistributionEvaluator`, `EnclosingDiskEvaluator`, `EnumeratedDistributionEvaluator`, `EqualToEvaluator`, `EuclideanDistanceEvaluator`, `EuclideanEvaluator`, `ExclusiveOrEvaluator`, `ExponentialMovingAverageEvaluator`, `FactorialEvaluator`, `FeatureSelectEvaluator`, `FFTEvaluator`, `FieldValueEvaluator`, `FindDelayEvaluator`, `FloorEvaluator`, `FrequencyTableEvaluator`, `FuzzyKmeansEvaluator`, `GammaDistributionEvaluator`, `GaussFitEvaluator`, `GeometricDistributionEvaluator`, `GetAmplitudeEvaluator`, `GetAngularFrequencyEvaluator`, `GetAreaEvaluator`, `GetAttributeEvaluator`, `GetAttributesEvaluator`, `GetBaryCenterEvaluator`, `GetBoundarySizeEvaluator`, `GetCacheEvaluator`, `GetCenterEvaluator`, `GetCentroidsEvaluator`, `GetClusterEvaluator`, `GetColumnLabelsEvaluator`, `GetMembershipMatrixEvaluator`, `GetPhaseEvaluator`, `GetRadiusEvaluator`, `GetRowLabelsEvaluator`, `GetSupportPointsEvaluator`, `GetValueEvaluator`, `GetVerticesEvaluator`, `GrandSumEvaluator`, `GreaterThanEqualToEvaluator`, `GreaterThanEvaluator`, `GTestDataSetEvaluator`, `HarmonicFitEvaluator`, `HistogramEvaluator`, `HyperbolicCosineEvaluator`, `HyperbolicSineEvaluator`, `HyperbolicTangentEvaluator`, `IFFTEvaluator`, `IfThenElseEvaluator`, `IndexOfEvaluator`, `IntegrateEvaluator`, `IsNullEvaluator`, `KmeansEvaluator`, `KnnEvaluator`, `KnnRegressionEvaluator`, `KolmogorovSmirnovEvaluator`, `L1NormEvaluator`, `LatLonVectorsEvaluator`, `LeftShiftEvaluator`, `LengthEvaluator`, `LerpEvaluator`, `LessThanEqualToEvaluator`, `LessThanEvaluator`, `LInfNormEvaluator`, `ListCacheEvaluator`, `LoessEvaluator`, `Log10Evaluator`, `LogNormalDistributionEvaluator`, `LongEvaluator`, `LowerEvaluator`, `ManhattanEvaluator`, `MannWhitneyUEvaluator`, `MarkovChainEvaluator`, `MatchesEvaluator`, `MatrixEvaluator`, `MatrixMultiplyEvaluator`, `MeanDifferenceEvaluator`, `MeanEvaluator`, `MemsetEvaluator`, `MinMaxScaleEvaluator`, `ModeEvaluator`, `ModuloEvaluator`, `MonteCarloEvaluator`, `MovingAverageEvaluator`, `MovingMADEvaluator`, `MovingMedianEvaluator`, `MultiKmeansEvaluator`, `MultiplyEvaluator`, `MultiVariateNormalDistributionEvaluator`, `NaturalEvaluator`, `NaturalLogEvaluator`, `NormalDistributionEvaluator`, `NormalizeEvaluator`, `NormalizeSumEvaluator`, `NormEvaluator`, `NotEvaluator`, `NotNullEvaluator`, `OLSRegressionEvaluator`, `OnesEvaluator`, `OrEvaluator`, `OscillateEvaluator`, `OutliersEvaluator`, `PairedTTestEvaluator`, `PairSortEvaluator`, `PercentileEvaluator`, `PivotEvaluator`, `PoissonDistributionEvaluator`, `PolyFitDerivativeEvaluator`, `PolyFitEvaluator`, `PowerEvaluator`, `PrecisionEvaluator`, `PredictEvaluator`, `PrimesEvaluator`, `ProbabilityEvaluator`, `ProjectToBorderEvaluator`, `PutCacheEvaluator`, `RankEvaluator`, `RawValueEvaluator`, `RecipEvaluator`, `RecNumEvaluator`, `RecursiveBooleanEvaluator`, `RecursiveEvaluator`, `RecursiveNumericEvaluator`, `RecursiveNumericListEvaluator`, `RecursiveObjectEvaluator`, `RecursiveTemporalEvaluator`, `RegressionEvaluator`, `RemoveCacheEvaluator`, `RepeatEvaluator`, `ReverseEvaluator`, `RightShiftEvaluator`, `RoundEvaluator`, `RowAtEvaluator`, `RowCountEvaluator`, `SampleEvaluator`, `ScalarAddEvaluator`, `ScalarDivideEvaluator`, `ScalarMultiplyEvaluator`, `ScalarSubtractEvaluator`, `ScaleEvaluator`, `SequenceEvaluator`, `SetColumnLabelsEvaluator`, `SetRowLabelsEvaluator`, `SetValueEvaluator`, `SineEvaluator`, `SourceEvaluator`, `SplineEvaluator`, `SplitEvaluator`, `SquareRootEvaluator`, `StandardDeviationEvaluator`, `SubtractEvaluator`, `SumColumnsEvaluator`, `SumDifferenceEvaluator`, `SumRowsEvaluator`, `SumSqEvaluator`, `TangentEvaluator`, `TemporalEvaluatorDay`, `TemporalEvaluatorDayOfQuarter`, `TemporalEvaluatorDayOfYear`, `TemporalEvaluatorEpoch`, `TemporalEvaluatorHour`, `TemporalEvaluatorMinute`, `TemporalEvaluatorMonth`, `TemporalEvaluatorQuarter`, `TemporalEvaluatorSecond`, `TemporalEvaluatorWeek`, `TemporalEvaluatorYear`, `TermVectorsEvaluator`, `TimeDifferencingEvaluator`, `TopFeaturesEvaluator`, `TransposeEvaluator`, `TriangularDistributionEvaluator`, `TrimEvaluator`, `TruncEvaluator`, `TTestEvaluator`, `UniformDistributionEvaluator`, `UniformIntegerDistributionEvaluator`, `UnitEvaluator`, `UpperEvaluator`, `UuidEvaluator`, `ValueAtEvaluator`, `VarianceEvaluator`, `WeibullDistributionEvaluator`, `ZerosEvaluator`, `ZipFDistributionEvaluator`

    public interface StreamEvaluator
    extends Expressible, Serializable

### Method Summary

All Methods Instance Methods Abstract Methods Default Methods
`Object` `evaluate​(Tuple tuple)`
`default Object` `evaluateOverContext()` Execute the evaluator over lets stored within the StreamContext.
`StreamContext` `getStreamContext()`
`void` `setStreamContext​(StreamContext streamContext)`

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

`toExplanation, toExpression`

### Method Detail

#### setStreamContext

    void setStreamContext​(StreamContext streamContext)

#### getStreamContext

    StreamContext getStreamContext()

#### evaluate

    Object evaluate​(Tuple tuple)
             throws IOException

Throws:
  `IOException`

#### evaluateOverContext

    default Object evaluateOverContext()
                                throws IOException

Execute the evaluator over lets stored within the StreamContext. This allows evaluators to be executed over values calculated elsewhere in the pipeline and stored in the `streamContext.lets`

Default implementation just creates a tuple out of all values in the context and passes that to `evaluate(Tuple)`.

Returns:
  Evaluated value
Throws:
  `IOException` - throw on error during evaluation