public class ExistsNode extends BetaNode
ExistsNode
extends BetaNode
to perform tests for
the existence of a Fact plus one or more conditions. Where existence
is found the left ReteTuple is copied and propagated. Further to this it
maintains the "truth" by canceling any
Activations that are no longer
considered true by the retraction of ReteTuple's or FactHandleImpl.
Tuples are considered to be asserted from the left input and facts from the right input.
The BetaNode
provides the BetaMemory to store asserted ReteTuples and
FactHandleImpls. Each fact handle is stored in the right
memory.
constraints, indexedUnificationJoin, isLogTraceEnabled, log, objectMemory, rightInput, tupleMemoryEnabled
leftInput, sink
associations, hashcode, id, memoryId, partitionId, partitionsEnabled
Constructor and Description |
---|
ExistsNode() |
ExistsNode(int id,
LeftTupleSource leftInput,
ObjectSource rightInput,
BetaConstraints joinNodeBinder,
BuildContext context) |
assertObject, attach, byPassModifyToBetaNode, calculateHashCode, createMemory, createRightTuple, doDeleteRightTuple, doUpdateRightTuple, dumpMemory, equals, getBetaMemory, getBetaMemoryFromRightInput, getConstraints, getFirstLeftTuple, getFirstRightTuple, getFirstTuple, getLeftIterator, getNextLeftTupleSinkNode, getNextObjectSinkNode, getObjectTypeNode, getPreviousLeftTupleSinkNode, getPreviousObjectSinkNode, getRawConstraints, getRightDeclaredMask, getRightInferredMask, getRightInput, getRightInputOtnId, getRightIterator, getRightIterator, getRightNegativeMask, getRules, initDeclaredMask, initInferredMask, initInferredMask, isIndexedUnificationJoin, isLeftTupleMemoryEnabled, isObjectMemoryEnabled, isRightInputIsRiaNode, isRightInputPassive, modifyObject, networkUpdated, readExternal, setLeftListenedProperties, setLeftTupleMemoryEnabled, setNextLeftTupleSinkNode, setNextObjectSinkNode, setPartitionId, setPreviousLeftTupleSinkNode, setPreviousObjectSinkNode, setRightDeclaredMask, setRightInput, setRightInputOtnId, unwrapRightInput, writeExternal
addTupleSink, addTupleSink, addTupleSink, getLeftDeclaredMask, getLeftInferredMask, getLeftInputOtnId, getLeftInputPattern, getLeftNegativeMask, getLeftTupleSource, getObjectType, getObjectTypeForPropertyReactivity, getPositionInPath, getSinkPropagator, initMasks, isInUse, removeTupleSink, setLeftInferredMask, setLeftInputOtnId, setLeftTupleSource, setPartitionIdWithSinks, setSourcePartitionId, setSourcePartitionId
addAssociation, addAssociation, getAssociatedRules, getAssociatedRuleSize, getAssociationsSize, getAssociationsSize, getId, getMemoryId, getPartitionId, getSinks, hashCode, initMemoryId, isAssociatedWith, isStreamMode, remove, removeAssociation, setId, setPartitionsEnabled, setStreamMode
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getLeftInferredMask, getLeftInputOtnId, setLeftInputOtnId, setPartitionIdWithSinks
getLeftTupleSource, getPositionInPath, getSinkPropagator
setPartitionIdWithSinks
getAssociatedRuleSize, getAssociationsSize, getAssociationsSize, getId, getPartitionId, isAssociatedWith
getMemoryId
public ExistsNode()
public ExistsNode(int id, LeftTupleSource leftInput, ObjectSource rightInput, BetaConstraints joinNodeBinder, BuildContext context)
public short getType()
getType
in interface NetworkNode
getType
in class LeftTupleSource
public LeftTuple createLeftTuple(InternalFactHandle factHandle, Sink sink, boolean leftTupleMemoryEnabled)
public LeftTuple createLeftTuple(InternalFactHandle factHandle, LeftTuple leftTuple, Sink sink)
public LeftTuple createLeftTuple(LeftTuple leftTuple, Sink sink, PropagationContext pctx, boolean leftTupleMemoryEnabled)
public LeftTuple createLeftTuple(LeftTuple leftTuple, RightTuple rightTuple, Sink sink)
public LeftTuple createLeftTuple(LeftTuple leftTuple, RightTuple rightTuple, LeftTuple currentLeftChild, LeftTuple currentRightChild, Sink sink, boolean leftTupleMemoryEnabled)
public LeftTuple createPeer(LeftTuple original)
createPeer
in interface LeftTupleSink
createPeer
in class LeftTupleSource
public void retractRightTuple(RightTuple rightTuple, PropagationContext pctx, InternalWorkingMemory workingMemory)
public void modifyRightTuple(RightTuple rightTuple, PropagationContext context, InternalWorkingMemory workingMemory)
public boolean doRemove(RuleRemovalContext context, ReteooBuilder builder)
BaseNode
ObjectSource
or TupleSource
public boolean isLeftUpdateOptimizationAllowed()
Copyright © 2001–2019 JBoss by Red Hat. All rights reserved.