Class PlanningTrace
- java.lang.Object
-
- org.eclipse.viatra.query.runtime.rete.traceability.RecipeTraceInfo
-
- org.eclipse.viatra.query.runtime.rete.traceability.PlanningTrace
-
- All Implemented Interfaces:
PatternTraceInfo
,TraceInfo
- Direct Known Subclasses:
CompiledSubPlan
public class PlanningTrace extends RecipeTraceInfo implements PatternTraceInfo
A trace marker associating a Rete recipe with a query SubPlan.The recipe may be an auxiliary node; see
CompiledSubPlan
if it represents the entire SubPlan instead.
-
-
Field Summary
Fields Modifier and Type Field Description protected java.util.Map<PVariable,java.lang.Integer>
posMapping
protected SubPlan
subPlan
protected java.util.List<PVariable>
variablesTuple
-
Constructor Summary
Constructors Constructor Description PlanningTrace(SubPlan subPlan, java.util.List<PVariable> variablesTuple, ReteNodeRecipe recipe, java.util.Collection<? extends RecipeTraceInfo> parentRecipeTraces)
PlanningTrace(SubPlan subPlan, java.util.List<PVariable> variablesTuple, ReteNodeRecipe recipe, RecipeTraceInfo... parentRecipeTraces)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CompiledSubPlan
cloneFor(SubPlan newSubPlan)
Returns a new clone that reinterprets the same compiled form as the compiled form of a (potentially different) subPlan.java.lang.String
getPatternName()
java.util.Map<PVariable,java.lang.Integer>
getPosMapping()
SubPlan
getSubPlan()
java.util.List<PVariable>
getVariablesTuple()
-
Methods inherited from class org.eclipse.viatra.query.runtime.rete.traceability.RecipeTraceInfo
assignNode, getNode, getParentRecipeTraces, getParentRecipeTracesForCloning, getRecipe, getShadowedRecipe, propagateFromIndexerToSupplierParent, propagateFromStandardNodeToSupplierParent, propagateToIndexerParent, propagateToProductionNodeParentAlso, shadowWithEquivalentRecipe
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.eclipse.viatra.query.runtime.rete.traceability.TraceInfo
assignNode, getNode, propagateFromIndexerToSupplierParent, propagateFromStandardNodeToSupplierParent, propagateToIndexerParent, propagateToProductionNodeParentAlso
-
-
-
-
Constructor Detail
-
PlanningTrace
public PlanningTrace(SubPlan subPlan, java.util.List<PVariable> variablesTuple, ReteNodeRecipe recipe, java.util.Collection<? extends RecipeTraceInfo> parentRecipeTraces)
-
PlanningTrace
public PlanningTrace(SubPlan subPlan, java.util.List<PVariable> variablesTuple, ReteNodeRecipe recipe, RecipeTraceInfo... parentRecipeTraces)
-
-
Method Detail
-
getSubPlan
public SubPlan getSubPlan()
-
getPatternName
public java.lang.String getPatternName()
- Specified by:
getPatternName
in interfacePatternTraceInfo
-
getVariablesTuple
public java.util.List<PVariable> getVariablesTuple()
-
getPosMapping
public java.util.Map<PVariable,java.lang.Integer> getPosMapping()
-
cloneFor
public CompiledSubPlan cloneFor(SubPlan newSubPlan)
Returns a new clone that reinterprets the same compiled form as the compiled form of a (potentially different) subPlan. Useful e.g. if child plan turns out to be a no-op, or when promoting aPlanningTrace
toCompiledSubPlan
.
-
-