Interface IOperationCompiler<Collector>
- Type Parameters:
Collector
- the handle of a receiver-like RETE ending to which plans can be connected
public interface IOperationCompiler<Collector>
An implicit common parameter is the "effort" PatternDescription. This
indicates that the build request is part of an effort to build the matcher of
the given pattern; it it important to record this during code generation so
that the generated code can be separated according to patterns.
-
Method Summary
Modifier and TypeMethodDescriptionbinaryEdgeTypePlan
(Tuple nodes, Object supplierKey) buildBetaNode
(SubPlan primaryPlan, SubPlan sidePlan, TupleMask primaryMask, TupleMask sideMask, TupleMask complementer, boolean negative) void
buildConnection
(SubPlan parentPlan, Collector collector) buildCountCheckBetaNode
(SubPlan primaryPlan, SubPlan sidePlan, TupleMask primaryMask, TupleMask originalSideMask, int resultPositionInSignature) buildCounterBetaNode
(SubPlan primaryPlan, SubPlan sidePlan, TupleMask primaryMask, TupleMask originalSideMask, TupleMask complementer, Object aggregateResultCalibrationElement) buildEqualityChecker
(SubPlan parentPlan, int[] indices) buildFunctionEvaluator
(IExpressionEvaluator evaluator, Map<String, Integer> tupleNameMap, SubPlan parentPlan, Object computedResultCalibrationElement) buildInjectivityChecker
(SubPlan parentPlan, int subject, int[] inequalIndices) buildPredicateChecker
(IExpressionEvaluator evaluator, Map<String, Integer> tupleNameMap, SubPlan parentPlan) buildStartingPlan
(Object[] constantValues, Object[] constantNames) buildTransitiveClosure
(SubPlan parentPlan) buildTrimmer
(SubPlan parentPlan, TupleMask trimMask, boolean enforceUniqueness) directContainmentPlan
(Tuple nodes) directGeneralizationPlan
(Tuple nodes) directInstantiationPlan
(Tuple nodes) patternCallPlan
(Tuple nodes, PQuery supplierKey) patternCollector
(PQuery pattern) void
patternFinished
(PQuery pattern, Collector collector) void
ternaryEdgeTypePlan
(Tuple nodes, Object supplierKey) transitiveContainmentPlan
(Tuple nodes) transitiveInstantiationPlan
(Tuple nodes) unaryTypePlan
(Tuple nodes, Object supplierKey)
-
Method Details
-
patternCollector
- Throws:
InterpreterRuntimeException
-
buildConnection
-
patternFinished
- Since:
- 0.9
-
patternCallPlan
- Throws:
InterpreterRuntimeException
-
transitiveInstantiationPlan
-
directInstantiationPlan
-
transitiveGeneralizationPlan
-
directGeneralizationPlan
-
transitiveContainmentPlan
-
directContainmentPlan
-
binaryEdgeTypePlan
-
ternaryEdgeTypePlan
-
unaryTypePlan
-
buildStartingPlan
-
buildEqualityChecker
-
buildInjectivityChecker
-
buildTransitiveClosure
-
buildTrimmer
-
buildBetaNode
-
buildCounterBetaNode
-
buildCountCheckBetaNode
-
buildPredicateChecker
-
buildFunctionEvaluator
-
getNextContainer
IOperationCompiler<Collector> getNextContainer()- Returns:
- an operation compiler that potentially acts on a separate container
-
putOnTab
- Returns:
- an operation compiler that puts build actions on the tab of the given pattern
- Since:
- 0.9
-
reinitialize
void reinitialize()
-