org.eclipse.viatra.query.runtime.rete.boundary

## Class ExternalInputStatelessFilterNode

- java.lang.Object
- - org.eclipse.viatra.query.runtime.rete.network.BaseNode
  - - org.eclipse.viatra.query.runtime.rete.network.StandardNode
    - - org.eclipse.viatra.query.runtime.rete.single.SingleInputNode
      - - org.eclipse.viatra.query.runtime.rete.single.FilterNode
        - - org.eclipse.viatra.query.runtime.rete.boundary.ExternalInputStatelessFilterNode

- All Implemented Interfaces:
    Disconnectable, NetworkStructureChangeSensitiveNode, Node, Receiver, Supplier, Tunnel

      public class ExternalInputStatelessFilterNode
      extends FilterNode
      implements Disconnectable

  A filter node representing a (stateless, typically non-enumerable) extensional input relation.

  Contains those tuples of its parents, that (when transformed by a mask, if given) are present in the extensional relation identified by the input key.

- - ### Field Summary

    - ### Fields inherited from class org.eclipse.viatra.query.runtime.rete.single.SingleInputNode

      `mailbox, parent`

    - ### Fields inherited from class org.eclipse.viatra.query.runtime.rete.network.StandardNode

      `childMailboxes, children`

    - ### Fields inherited from class org.eclipse.viatra.query.runtime.rete.network.BaseNode

      `nodeId, reteContainer, tag, traceInfos`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ExternalInputStatelessFilterNode(ReteContainer reteContainer, TupleMask mask)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `boolean` | `check(Tuple ps)` Abstract filtering predicate.
    `void` | `connectThroughContext(ReteEngine engine, IInputKey inputKey)`
    `void` | `disconnect()` Disconnects this rete engine component from the underlying model.

    - ### Methods inherited from class org.eclipse.viatra.query.runtime.rete.single.FilterNode

      `pullInto, pullIntoWithTimeline, update`

    - ### Methods inherited from class org.eclipse.viatra.query.runtime.rete.single.SingleInputNode

      `appendParent, assignTraceInfo, getCommunicationTracker, getMailbox, getParents, instantiateMailbox, propagatePullInto, propagatePullIntoWithTimestamp, removeParent`

    - ### Methods inherited from class org.eclipse.viatra.query.runtime.rete.network.StandardNode

      `appendChild, constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, networkStructureChanged, propagateUpdate, removeChild`

    - ### Methods inherited from class org.eclipse.viatra.query.runtime.rete.network.BaseNode

      `acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString, toStringCore`

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

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

    - ### Methods inherited from interface org.eclipse.viatra.query.runtime.rete.network.Supplier

      `appendChild, constructIndex, getPulledContents, getPulledContents, getReceivers, removeChild`

    - ### Methods inherited from interface org.eclipse.viatra.query.runtime.rete.network.Receiver

      `batchUpdate`

    - ### Methods inherited from interface org.eclipse.viatra.query.runtime.rete.network.Node

      `acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfos, setTag`

- - ### Constructor Detail

    - #### ExternalInputStatelessFilterNode

          public ExternalInputStatelessFilterNode(ReteContainer reteContainer,
                                                  TupleMask mask)

  - ### Method Detail

    - #### check

          public boolean check(Tuple ps)

      Description copied from class: `FilterNode`
      Abstract filtering predicate. Expected to be stateless.
      Specified by:
        `check` in class `FilterNode`
      Parameters:
        `ps` - the matching to be checked.
      Returns:
        true if and only if the parameter matching is allowed to pass through this node.

    - #### connectThroughContext

          public void connectThroughContext(ReteEngine engine,
                                            IInputKey inputKey)

    - #### disconnect

          public void disconnect()

      Description copied from interface: `Disconnectable`
      Disconnects this rete engine component from the underlying model. Disconnecting enables the garbage collection mechanisms to dispose of the rete network.
      Specified by:
        `disconnect` in interface `Disconnectable`