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 SubPlan
binaryEdgeTypePlan(Tuple nodes, java.lang.Object supplierKey)
SubPlan
buildBetaNode(SubPlan primaryPlan, SubPlan sidePlan, TupleMask primaryMask, TupleMask sideMask, TupleMask complementer, boolean negative)
void
buildConnection(SubPlan parentPlan, Collector collector)
SubPlan
buildCountCheckBetaNode(SubPlan primaryPlan, SubPlan sidePlan, TupleMask primaryMask, TupleMask originalSideMask, int resultPositionInSignature)
SubPlan
buildCounterBetaNode(SubPlan primaryPlan, SubPlan sidePlan, TupleMask primaryMask, TupleMask originalSideMask, TupleMask complementer, java.lang.Object aggregateResultCalibrationElement)
SubPlan
buildEqualityChecker(SubPlan parentPlan, int[] indices)
SubPlan
buildFunctionEvaluator(IExpressionEvaluator evaluator, java.util.Map<java.lang.String,java.lang.Integer> tupleNameMap, SubPlan parentPlan, java.lang.Object computedResultCalibrationElement)
SubPlan
buildInjectivityChecker(SubPlan parentPlan, int subject, int[] inequalIndices)
SubPlan
buildPredicateChecker(IExpressionEvaluator evaluator, java.util.Map<java.lang.String,java.lang.Integer> tupleNameMap, SubPlan parentPlan)
SubPlan
buildStartingPlan(java.lang.Object[] constantValues, java.lang.Object[] constantNames)
SubPlan
buildTransitiveClosure(SubPlan parentPlan)
SubPlan
buildTrimmer(SubPlan parentPlan, TupleMask trimMask, boolean enforceUniqueness)
SubPlan
directContainmentPlan(Tuple nodes)
SubPlan
directGeneralizationPlan(Tuple nodes)
SubPlan
directInstantiationPlan(Tuple nodes)
IOperationCompiler<Collector>
getNextContainer()
SubPlan
patternCallPlan(Tuple nodes, PQuery supplierKey)
Collector
patternCollector(PQuery pattern)
void
patternFinished(PQuery pattern, Collector collector)
IOperationCompiler<Collector>
putOnTab(PQuery effort)
void
reinitialize()
SubPlan
ternaryEdgeTypePlan(Tuple nodes, java.lang.Object supplierKey)
SubPlan
transitiveContainmentPlan(Tuple nodes)
SubPlan
transitiveGeneralizationPlan(Tuple nodes)
SubPlan
transitiveInstantiationPlan(Tuple nodes)
SubPlan
unaryTypePlan(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()
-
-