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 voidassignNode(Node node)NodegetNode()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.ReteNodeRecipegetRecipe()ReteNodeRecipegetShadowedRecipe()Get original recipe shadowed by an equivalentbooleanpropagateFromIndexerToSupplierParent()booleanpropagateFromStandardNodeToSupplierParent()booleanpropagateToIndexerParent()booleanpropagateToProductionNodeParentAlso()voidshadowWithEquivalentRecipe(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:
propagateToIndexerParentin interfaceTraceInfo
-
propagateFromIndexerToSupplierParent
public boolean propagateFromIndexerToSupplierParent()
- Specified by:
propagateFromIndexerToSupplierParentin interfaceTraceInfo
-
propagateFromStandardNodeToSupplierParent
public boolean propagateFromStandardNodeToSupplierParent()
- Specified by:
propagateFromStandardNodeToSupplierParentin interfaceTraceInfo
-
propagateToProductionNodeParentAlso
public boolean propagateToProductionNodeParentAlso()
- Specified by:
propagateToProductionNodeParentAlsoin interfaceTraceInfo
-
assignNode
public void assignNode(Node node)
- Specified by:
assignNodein 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
-
-