org.eclipse.incquery.runtime.rete.boundary

## Class ReteBoundary

- java.lang.Object
- - org.eclipse.incquery.runtime.rete.boundary.ReteBoundary

-     public class ReteBoundary
      extends java.lang.Object

  Responsible for the storage, maintenance and communication of the nodes of the network that are accessible form the outside for various reasons.
  Author:
    Gabor Bergmann

    TODO: should eventually be merged into `InputConnector` and deleted

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `ReteBoundary(ReteEngine engine)` Prerequisite: engine has its network and framework fields initialized

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `Address<? extends Production>` | `accessProductionNode(PQuery query)` accesses the production node for specified pattern; builds pattern matcher if it doesn't exist yet
    `RecipeTraceInfo` | `accessProductionTrace(PQuery query)` accesses the production node for specified pattern; builds pattern matcher if it doesn't exist yet
    `Address<? extends Supplier>` | `getAddress(SubPlan plan)`
    `java.util.Collection<? extends RecipeTraceInfo>` | `getAllProductionNodes()`
    `ReteContainer` | `getHeadContainer()`
    `java.util.Set<SubPlan>` | `getParentPlansOfReceiver(Address<? extends Receiver> receiver)` Deprecated. Use `Node.getTraceInfos()`
    `void` | `mapPlanToAddress(SubPlan plan, Address<? extends Supplier> handle)`
    `void` | `notifyEvaluator(Address<? extends Receiver> receiver, Tuple tuple)`
    `void` | `registerParentPlanForReceiver(Address<? extends Receiver> receiver, SubPlan parentPlan)` Deprecated. Use `Node.assignTraceInfo(org.eclipse.incquery.runtime.rete.traceability.TraceInfo)`

    - ### Methods inherited from class java.lang.Object

      `equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### 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)
                                                throws QueryProcessingException

      accesses the production node for specified pattern; builds pattern matcher if it doesn't exist yet
      Throws:
        `QueryProcessingException`

    - #### accessProductionNode

          public Address<? extends Production> accessProductionNode(PQuery query)
                                                             throws QueryProcessingException

      accesses the production node for specified pattern; builds pattern matcher if it doesn't exist yet
      Throws:
        `QueryProcessingException`

    - #### notifyEvaluator

          public void notifyEvaluator(Address<? extends Receiver> receiver,
                                      Tuple tuple)

    - #### registerParentPlanForReceiver

          @Deprecated
          public void registerParentPlanForReceiver(Address<? extends Receiver> receiver,
                                                                SubPlan parentPlan)

      Deprecated. Use `Node.assignTraceInfo(org.eclipse.incquery.runtime.rete.traceability.TraceInfo)`

    - #### getParentPlansOfReceiver

          @Deprecated
          public java.util.Set<SubPlan> getParentPlansOfReceiver(Address<? extends Receiver> receiver)

      Deprecated. Use `Node.getTraceInfos()`

    - #### mapPlanToAddress

          public void mapPlanToAddress(SubPlan plan,
                                       Address<? extends Supplier> handle)

    - #### getAddress

          public Address<? extends Supplier> getAddress(SubPlan plan)