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.- No Implement:
- This interface is not intended to be implemented by clients.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description SubPlanbinaryEdgeTypePlan(Tuple nodes, java.lang.Object supplierKey)SubPlanbuildBetaNode(SubPlan primaryPlan, SubPlan sidePlan, TupleMask primaryMask, TupleMask sideMask, TupleMask complementer, boolean negative)voidbuildConnection(SubPlan parentPlan, Collector collector)SubPlanbuildCountCheckBetaNode(SubPlan primaryPlan, SubPlan sidePlan, TupleMask primaryMask, TupleMask originalSideMask, int resultPositionInSignature)SubPlanbuildCounterBetaNode(SubPlan primaryPlan, SubPlan sidePlan, TupleMask primaryMask, TupleMask originalSideMask, TupleMask complementer, java.lang.Object aggregateResultCalibrationElement)SubPlanbuildEqualityChecker(SubPlan parentPlan, int[] indices)SubPlanbuildFunctionEvaluator(IExpressionEvaluator evaluator, java.util.Map<java.lang.String,java.lang.Integer> tupleNameMap, SubPlan parentPlan, java.lang.Object computedResultCalibrationElement)SubPlanbuildInjectivityChecker(SubPlan parentPlan, int subject, int[] inequalIndices)SubPlanbuildPredicateChecker(IExpressionEvaluator evaluator, java.util.Map<java.lang.String,java.lang.Integer> tupleNameMap, SubPlan parentPlan)SubPlanbuildStartingPlan(java.lang.Object[] constantValues, java.lang.Object[] constantNames)SubPlanbuildTransitiveClosure(SubPlan parentPlan)SubPlanbuildTrimmer(SubPlan parentPlan, TupleMask trimMask, boolean enforceUniqueness)SubPlandirectContainmentPlan(Tuple nodes)SubPlandirectGeneralizationPlan(Tuple nodes)SubPlandirectInstantiationPlan(Tuple nodes)IOperationCompiler<Collector>getNextContainer()SubPlanpatternCallPlan(Tuple nodes, PQuery supplierKey)CollectorpatternCollector(PQuery pattern)voidpatternFinished(PQuery pattern, Collector collector)IOperationCompiler<Collector>putOnTab(PQuery effort)voidreinitialize()SubPlanternaryEdgeTypePlan(Tuple nodes, java.lang.Object supplierKey)SubPlantransitiveContainmentPlan(Tuple nodes)SubPlantransitiveGeneralizationPlan(Tuple nodes)SubPlantransitiveInstantiationPlan(Tuple nodes)SubPlanunaryTypePlan(Tuple nodes, java.lang.Object supplierKey)
-
-
-
Method Detail
-
patternCollector
Collector patternCollector(PQuery pattern)
- Throws:
ViatraQueryRuntimeException
-
patternCallPlan
SubPlan patternCallPlan(Tuple nodes, PQuery supplierKey)
- Throws:
ViatraQueryRuntimeException
-
buildStartingPlan
SubPlan buildStartingPlan(java.lang.Object[] constantValues, java.lang.Object[] constantNames)
-
buildInjectivityChecker
SubPlan buildInjectivityChecker(SubPlan parentPlan, int subject, int[] inequalIndices)
-
buildTrimmer
SubPlan buildTrimmer(SubPlan parentPlan, TupleMask trimMask, boolean enforceUniqueness)
-
buildBetaNode
SubPlan buildBetaNode(SubPlan primaryPlan, SubPlan sidePlan, TupleMask primaryMask, TupleMask sideMask, TupleMask complementer, boolean negative)
-
buildCounterBetaNode
SubPlan buildCounterBetaNode(SubPlan primaryPlan, SubPlan sidePlan, TupleMask primaryMask, TupleMask originalSideMask, TupleMask complementer, java.lang.Object aggregateResultCalibrationElement)
-
buildCountCheckBetaNode
SubPlan buildCountCheckBetaNode(SubPlan primaryPlan, SubPlan sidePlan, TupleMask primaryMask, TupleMask originalSideMask, int resultPositionInSignature)
-
buildPredicateChecker
SubPlan buildPredicateChecker(IExpressionEvaluator evaluator, java.util.Map<java.lang.String,java.lang.Integer> tupleNameMap, SubPlan parentPlan)
-
buildFunctionEvaluator
SubPlan buildFunctionEvaluator(IExpressionEvaluator evaluator, java.util.Map<java.lang.String,java.lang.Integer> tupleNameMap, SubPlan parentPlan, java.lang.Object computedResultCalibrationElement)
-
getNextContainer
IOperationCompiler<Collector> getNextContainer()
- Returns:
- an operation compiler that potentially acts on a separate container
-
putOnTab
IOperationCompiler<Collector> putOnTab(PQuery effort)
- Returns:
- an operation compiler that puts build actions on the tab of the given pattern
- Since:
- 0.9
-
reinitialize
void reinitialize()
-
-