Interface QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_>
- 
- Type Parameters:
- A- the type of the first fact of the tuple in the source- QuadConstraintStream
- B- the type of the second fact of the tuple in the source- QuadConstraintStream
- C- the type of the third fact of the tuple in the source- QuadConstraintStream
- D- the type of the fourth fact of the tuple in the source- QuadConstraintStream
- ResultContainer_- the mutable accumulation type (often hidden as an implementation detail)
- Result_- the type of the fact of the tuple in the destination- ConstraintStream
 
 public interface QuadConstraintCollector<A,B,C,D,ResultContainer_,Result_>Usually created withConstraintCollectors. Used byQuadConstraintStream.groupBy(QuadFunction, QuadConstraintCollector), ...Loosely based on JDK's Collector, but it returns an undo operation for each accumulation to enable incremental score calculation inconstraint streams.- See Also:
- ConstraintCollectors
 
- 
- 
Method SummaryAll Methods Instance Methods Abstract Methods Modifier and Type Method Description PentaFunction<ResultContainer_,A,B,C,D,Runnable>accumulator()A lambda that extracts data from the matched facts, accumulates it in the result container and returns an undo operation for that accumulation.Function<ResultContainer_,Result_>finisher()A lambda that converts the result container into the result.Supplier<ResultContainer_>supplier()A lambda that creates the result container, one for each group key combination.
 
- 
- 
- 
Method Detail- 
supplierSupplier<ResultContainer_> supplier() A lambda that creates the result container, one for each group key combination.- Returns:
- never null
 
 - 
accumulatorPentaFunction<ResultContainer_,A,B,C,D,Runnable> accumulator() A lambda that extracts data from the matched facts, accumulates it in the result container and returns an undo operation for that accumulation.- Returns:
- never null, the undo operation. This lambda is called when the facts no longer matches.
 
 - 
finisherFunction<ResultContainer_,Result_> finisher() A lambda that converts the result container into the result.- Returns:
- never null
 
 
- 
 
-