Class ReteBoundary
- java.lang.Object
-
- org.eclipse.viatra.query.runtime.rete.boundary.ReteBoundary
-
public class ReteBoundary extends java.lang.ObjectResponsible for the storage, maintenance and communication of the nodes of the network that are accessible form the outside for various reasons.
-
-
Field Summary
Fields Modifier and Type Field Description protected ReteEngineengineprotected ReteContainerheadContainerprotected InputConnectorinputConnectorprotected Networknetworkprotected java.util.Map<Address<? extends Receiver>,java.util.Set<SubPlan>>parentPlansOfReceiverSubPlans of parent nodes that have the key node as their child.protected java.util.Map<SubPlan,Address<? extends Supplier>>subplanToAddressMapping
-
Constructor Summary
Constructors Constructor Description ReteBoundary(ReteEngine engine)Prerequisite: engine has its network and framework fields initialized
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Address<? extends ProductionNode>accessProductionNode(PQuery query)accesses the production node for specified pattern; builds pattern matcher if it doesn't exist yetRecipeTraceInfoaccessProductionTrace(PQuery query)accesses the production node for specified pattern; builds pattern matcher if it doesn't exist yetAddress<? extends Supplier>getAddress(SubPlan plan)java.util.Collection<? extends RecipeTraceInfo>getAllProductionNodes()ReteContainergetHeadContainer()voidmapPlanToAddress(SubPlan plan, Address<? extends Supplier> handle)voidnotifyEvaluator(Address<? extends Receiver> receiver, Tuple tuple)
-
-
-
Field Detail
-
engine
protected ReteEngine engine
-
network
protected Network network
-
headContainer
protected ReteContainer headContainer
-
inputConnector
protected final InputConnector inputConnector
-
subplanToAddressMapping
protected java.util.Map<SubPlan,Address<? extends Supplier>> subplanToAddressMapping
-
-
Constructor Detail
-
ReteBoundary
public ReteBoundary(ReteEngine engine)
Prerequisite: engine has its network and framework fields initialized
-
-
Method Detail
-
getHeadContainer
public ReteContainer getHeadContainer()
-
getAllProductionNodes
public java.util.Collection<? extends RecipeTraceInfo> getAllProductionNodes()
-
accessProductionTrace
public RecipeTraceInfo accessProductionTrace(PQuery query)
accesses the production node for specified pattern; builds pattern matcher if it doesn't exist yet- Throws:
ViatraQueryRuntimeException
-
accessProductionNode
public Address<? extends ProductionNode> accessProductionNode(PQuery query)
accesses the production node for specified pattern; builds pattern matcher if it doesn't exist yet- Throws:
ViatraQueryRuntimeException
-
-