Class FilterNode
java.lang.Object
tools.refinery.interpreter.rete.network.BaseNode
tools.refinery.interpreter.rete.network.StandardNode
tools.refinery.interpreter.rete.single.SingleInputNode
tools.refinery.interpreter.rete.single.FilterNode
- All Implemented Interfaces:
NetworkStructureChangeSensitiveNode,Node,Receiver,Supplier,Tunnel
- Direct Known Subclasses:
EqualityFilterNode,ExternalInputStatelessFilterNode,InequalityFilterNode,ValueBinderFilterNode
This node implements a simple filter. A stateless abstract check() predicate determines whether a matching is allowed
to pass.
-
Field Summary
Fields inherited from class tools.refinery.interpreter.rete.single.SingleInputNode
mailbox, parentFields inherited from class tools.refinery.interpreter.rete.network.StandardNode
childMailboxes, childrenFields inherited from class tools.refinery.interpreter.rete.network.BaseNode
nodeId, reteContainer, tag, traceInfos -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionabstract booleanAbstract filtering predicate.voidpullInto(Collection<Tuple> collector, boolean flush) Pulls the contents of this object in this particular moment into a target collection.voidpullIntoWithTimeline(Map<Tuple, Timeline<Timestamp>> collector, boolean flush) voidUpdates the receiver with a newly found or lost partial matching.Methods inherited from class tools.refinery.interpreter.rete.single.SingleInputNode
appendParent, assignTraceInfo, getCommunicationTracker, getMailbox, getParents, instantiateMailbox, propagatePullInto, propagatePullIntoWithTimestamp, removeParentMethods inherited from class tools.refinery.interpreter.rete.network.StandardNode
appendChild, constructIndex, getChildMailboxes, getPulledContents, getReceivers, issueError, networkStructureChanged, propagateUpdate, removeChildMethods inherited from class tools.refinery.interpreter.rete.network.BaseNode
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfoPatternsEnumerated, getTraceInfos, setTag, toString, toStringCoreMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface tools.refinery.interpreter.rete.network.Node
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfos, setTagMethods inherited from interface tools.refinery.interpreter.rete.network.Receiver
batchUpdateMethods inherited from interface tools.refinery.interpreter.rete.network.Supplier
appendChild, constructIndex, getPulledContents, getPulledContents, getReceivers, removeChild
-
Constructor Details
-
FilterNode
-
-
Method Details
-
check
Abstract filtering predicate. Expected to be stateless.- Parameters:
ps- the matching to be checked.- Returns:
- true if and only if the parameter matching is allowed to pass through this node.
-
pullInto
Description copied from interface:SupplierPulls the contents of this object in this particular moment into a target collection.- Parameters:
flush- if true, flushing of messages is allowed during the pull, otherwise flushing is not allowed
-
pullIntoWithTimeline
-
update
Description copied from interface:ReceiverUpdates the receiver with a newly found or lost partial matching.
-