Class InequalityFilterNode
- 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.single.InequalityFilterNode
-
- All Implemented Interfaces:
NetworkStructureChangeSensitiveNode
,Node
,Receiver
,Supplier
,Tunnel
public class InequalityFilterNode extends FilterNode
This node filters patterns according to equalities and inequalities of elements. The 'subject' element is asserted to be different from the elements given by the inequalityMask.
-
-
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 Description InequalityFilterNode(ReteContainer reteContainer, int subject, TupleMask inequalityMask)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
check(Tuple ps)
Abstract filtering predicate.-
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.Node
acceptPropagatedTraceInfo, getContainer, getNodeId, getTag, getTraceInfos, setTag
-
Methods inherited from interface org.eclipse.viatra.query.runtime.rete.network.Receiver
batchUpdate
-
Methods inherited from interface org.eclipse.viatra.query.runtime.rete.network.Supplier
appendChild, constructIndex, getPulledContents, getPulledContents, getReceivers, removeChild
-
-
-
-
Constructor Detail
-
InequalityFilterNode
public InequalityFilterNode(ReteContainer reteContainer, int subject, TupleMask inequalityMask)
- Parameters:
reteContainer
-subject
- the index of the element that should be compared.inequalityMask
- the indices of elements that should be different from the subjectIndex.
-
-
Method Detail
-
check
public boolean check(Tuple ps)
Description copied from class:FilterNode
Abstract filtering predicate. Expected to be stateless.- Specified by:
check
in classFilterNode
- Parameters:
ps
- the matching to be checked.- Returns:
- true if and only if the parameter matching is allowed to pass through this node.
-
-