Class RecipeTraceInfo
- java.lang.Object
-
- org.eclipse.viatra.query.runtime.rete.traceability.RecipeTraceInfo
-
- All Implemented Interfaces:
TraceInfo
- Direct Known Subclasses:
ActiveNodeConflictTrace
,CompiledQuery
,ParameterProjectionTrace
,PlanningTrace
,UserRequestTrace
public class RecipeTraceInfo extends java.lang.Object implements TraceInfo
A trace marker that indicates the recipe for which the node was built.
-
-
Constructor Summary
Constructors Constructor Description RecipeTraceInfo(ReteNodeRecipe recipe, java.util.Collection<? extends RecipeTraceInfo> parentRecipeTraces)
RecipeTraceInfo(ReteNodeRecipe recipe, RecipeTraceInfo... parentRecipeTraces)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
assignNode(Node node)
Node
getNode()
java.util.List<RecipeTraceInfo>
getParentRecipeTraces()
For cloning in case of recursion cut-off points, usegetParentRecipeTracesForCloning()
instead.java.util.Collection<? extends RecipeTraceInfo>
getParentRecipeTracesForCloning()
Directly return the underlying collection so that changes to it will be transparent.ReteNodeRecipe
getRecipe()
ReteNodeRecipe
getShadowedRecipe()
Get original recipe shadowed by an equivalentboolean
propagateFromIndexerToSupplierParent()
boolean
propagateFromStandardNodeToSupplierParent()
boolean
propagateToIndexerParent()
boolean
propagateToProductionNodeParentAlso()
void
shadowWithEquivalentRecipe(ReteNodeRecipe knownRecipe)
-
-
-
Constructor Detail
-
RecipeTraceInfo
public RecipeTraceInfo(ReteNodeRecipe recipe, java.util.Collection<? extends RecipeTraceInfo> parentRecipeTraces)
-
RecipeTraceInfo
public RecipeTraceInfo(ReteNodeRecipe recipe, RecipeTraceInfo... parentRecipeTraces)
-
-
Method Detail
-
getRecipe
public ReteNodeRecipe getRecipe()
-
getParentRecipeTraces
public java.util.List<RecipeTraceInfo> getParentRecipeTraces()
For cloning in case of recursion cut-off points, usegetParentRecipeTracesForCloning()
instead.- Returns:
- an unmodifiable view on parent traces, to be constructed before this node (or alongside, in case of recursion)
-
getParentRecipeTracesForCloning
public java.util.Collection<? extends RecipeTraceInfo> getParentRecipeTracesForCloning()
Directly return the underlying collection so that changes to it will be transparent. Use only for recursion-tolerant cloning.- No Reference:
- This method is not intended to be referenced by clients.
-
propagateToIndexerParent
public boolean propagateToIndexerParent()
- Specified by:
propagateToIndexerParent
in interfaceTraceInfo
-
propagateFromIndexerToSupplierParent
public boolean propagateFromIndexerToSupplierParent()
- Specified by:
propagateFromIndexerToSupplierParent
in interfaceTraceInfo
-
propagateFromStandardNodeToSupplierParent
public boolean propagateFromStandardNodeToSupplierParent()
- Specified by:
propagateFromStandardNodeToSupplierParent
in interfaceTraceInfo
-
propagateToProductionNodeParentAlso
public boolean propagateToProductionNodeParentAlso()
- Specified by:
propagateToProductionNodeParentAlso
in interfaceTraceInfo
-
assignNode
public void assignNode(Node node)
- Specified by:
assignNode
in interfaceTraceInfo
-
shadowWithEquivalentRecipe
public void shadowWithEquivalentRecipe(ReteNodeRecipe knownRecipe)
- Parameters:
knownRecipe
- a known recipe that is equivalent to the current recipe
-
getShadowedRecipe
public ReteNodeRecipe getShadowedRecipe()
Get original recipe shadowed by an equivalent
-
-