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, id, partitionId, partitionsEnabled
Constructor and Description |
---|
ExistsNode() |
ExistsNode(int id,
LeftTupleSource leftInput,
ObjectSource rightInput,
BetaConstraints joinNodeBinder,
BuildContext context) |
assertObject, attach, byPassModifyToBetaNode, createMemory, createRightTuple, doDeleteRightTuple, doUpdateRightTuple, dumpMemory, equals, getBetaMemory, getBetaMemoryFromRightInput, getConstraints, getFirstLeftTuple, getFirstLeftTuple, getFirstRightTuple, getFirstRightTuple, getLeftIterator, getLeftTupleSource, getNextLeftTupleSinkNode, getNextObjectSinkNode, getObjectTypeNode, getPreviousLeftTupleSinkNode, getPreviousObjectSinkNode, getRawConstraints, getRightDeclaredMask, getRightInferredMask, getRightInput, getRightInputOtnId, getRightIterator, getRightIterator, getRightNegativeMask, getRules, hashCode, initDeclaredMask, initInferredMask, initInferredMask, isIndexedUnificationJoin, isLeftTupleMemoryEnabled, isObjectMemoryEnabled, isRightInputIsRiaNode, isRightInputPassive, modifyObject, networkUpdated, readExternal, setConstraints, setLeftListenedProperties, setLeftTupleMemoryEnabled, setNextLeftTupleSinkNode, setNextObjectSinkNode, setPreviousLeftTupleSinkNode, setPreviousObjectSinkNode, setRightDeclaredMask, setRightInputOtnId, setUnificationJoin, unwrapRightInput, writeExternal
addTupleSink, addTupleSink, addTupleSink, getLeftDeclaredMask, getLeftInferredMask, getLeftInputOtnId, getLeftNegativeMask, getObjectType, getSinkPropagator, initMasks, isInUse, removeTupleSink, setLeftInferredMask, setLeftInputOtnId, setLeftTupleSource
addAssociation, getAssociations, getId, getPartitionId, isStreamMode, remove, removeAssociation, setId, setPartitionId, setStreamMode
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
getLeftInferredMask, getLeftInputOtnId, setLeftInputOtnId
getAssociations, getId, getPartitionId
getId
public ExistsNode()
public ExistsNode(int id, LeftTupleSource leftInput, ObjectSource rightInput, BetaConstraints joinNodeBinder, BuildContext context)
public short getType()
getType
in interface NetworkNode
getType
in interface LeftTupleSink
getType
in interface RightTupleSink
getType
in class LeftTupleSource
public LeftTuple createLeftTuple(InternalFactHandle factHandle, LeftTupleSink sink, boolean leftTupleMemoryEnabled)
public LeftTuple createLeftTuple(InternalFactHandle factHandle, LeftTuple leftTuple, LeftTupleSink sink)
public LeftTuple createLeftTuple(LeftTuple leftTuple, LeftTupleSink sink, PropagationContext pctx, boolean leftTupleMemoryEnabled)
public LeftTuple createLeftTuple(LeftTuple leftTuple, RightTuple rightTuple, LeftTupleSink sink)
public LeftTuple createLeftTuple(LeftTuple leftTuple, RightTuple rightTuple, LeftTuple currentLeftChild, LeftTuple currentRightChild, LeftTupleSink sink, boolean leftTupleMemoryEnabled)
public LeftTuple createPeer(LeftTuple original)
createPeer
in interface LeftTupleSink
createPeer
in class LeftTupleSource
public void assertRightTuple(RightTuple rightTuple, PropagationContext context, InternalWorkingMemory workingMemory)
public void retractRightTuple(RightTuple rightTuple, PropagationContext pctx, InternalWorkingMemory workingMemory)
public void modifyRightTuple(RightTuple rightTuple, PropagationContext context, InternalWorkingMemory workingMemory)
public void assertLeftTuple(LeftTuple leftTuple, PropagationContext context, InternalWorkingMemory workingMemory)
LeftTupleSink
ReteTuple
.leftTuple
- The ReteTuple
to propagate.context
- The PropagationContext
of the WorkingMemory action
workingMemory
- the WorkingMemory
session.public void retractLeftTuple(LeftTuple leftTuple, PropagationContext context, InternalWorkingMemory workingMemory)
public void modifyLeftTuple(InternalFactHandle factHandle, ModifyPreviousTuples modifyPreviousTuples, PropagationContext context, InternalWorkingMemory workingMemory)
public void modifyLeftTuple(LeftTuple leftTuple, PropagationContext context, InternalWorkingMemory workingMemory)
public void updateSink(LeftTupleSink sink, PropagationContext context, InternalWorkingMemory workingMemory)
updateSink
in class LeftTupleSource
public boolean doRemove(RuleRemovalContext context, ReteooBuilder builder, InternalWorkingMemory[] workingMemories)
BaseNode
ObjectSource
or TupleSource
public boolean isLeftUpdateOptimizationAllowed()
Copyright © 2001–2015 JBoss by Red Hat. All rights reserved.