public abstract class BetaNode extends LeftTupleSource implements LeftTupleSinkNode, ObjectSinkNode, RightTupleSink, MemoryFactory
| Modifier and Type | Field and Description |
|---|---|
protected BetaConstraints |
constraints |
protected boolean |
indexedUnificationJoin |
protected static boolean |
isLogTraceEnabled |
protected static org.slf4j.Logger |
log |
protected boolean |
objectMemory |
protected ObjectSource |
rightInput |
protected boolean |
rightInputIsRiaNode |
protected boolean |
tupleMemoryEnabled |
leftDeclaredMask, leftInferredMask, leftInput, leftNegativeMask, sinkassociations, hashcode, id, memoryId, partitionId, partitionsEnabled| Modifier | Constructor and Description |
|---|---|
|
BetaNode() |
protected |
BetaNode(int id,
LeftTupleSource leftInput,
ObjectSource rightInput,
BetaConstraints constraints,
BuildContext context)
Constructs a
BetaNode using the specified BetaNodeBinder. |
addTupleSink, addTupleSink, addTupleSink, createPeer, getLeftDeclaredMask, getLeftInferredMask, getLeftInputOtnId, getLeftInputPattern, getLeftNegativeMask, getLeftTupleSource, getObjectCount, getObjectType, getObjectTypeForPropertyReactivity, getPathIndex, getSinkPropagator, getType, initMasks, isInUse, removeTupleSink, setLeftInferredMask, setLeftInputOtnId, setLeftTupleSource, setNodeConstraintsPropertyReactiveMask, setObjectCount, setPartitionIdWithSinks, setSourcePartitionId, setSourcePartitionIdaddAssociation, addAssociation, attach, doRemove, getAssociatedRules, getAssociatedRuleSize, getAssociationsSize, getAssociationsSize, getId, getMemoryId, getPartitionId, getSinks, hashCode, initMemoryId, isAssociatedWith, isStreamMode, remove, removeAssociation, setId, setPartitionsEnabled, setStreamModeclone, finalize, getClass, notify, notifyAll, wait, wait, waitcreateLeftTuple, createLeftTuple, createLeftTuple, createLeftTuple, createLeftTuple, createPeer, getLeftInferredMask, getLeftInputOtnId, setLeftInputOtnId, setPartitionIdWithSinksgetLeftTupleSource, getObjectCount, getPathIndex, getSinkPropagator, setObjectCountsetPartitionIdWithSinksgetAssociatedRuleSize, getAssociationsSize, getAssociationsSize, getId, getPartitionId, getType, isAssociatedWithmodifyRightTuple, retractRightTuplegetMemoryIdprotected static final org.slf4j.Logger log
protected static final boolean isLogTraceEnabled
protected ObjectSource rightInput
protected BetaConstraints constraints
protected boolean objectMemory
protected boolean tupleMemoryEnabled
protected boolean indexedUnificationJoin
protected boolean rightInputIsRiaNode
public BetaNode()
protected BetaNode(int id,
LeftTupleSource leftInput,
ObjectSource rightInput,
BetaConstraints constraints,
BuildContext context)
BetaNode using the specified BetaNodeBinder.leftInput - The left input TupleSource.rightInput - The right input ObjectSource.protected void initDeclaredMask(BuildContext context, LeftTupleSource leftInput)
initDeclaredMask in class LeftTupleSourcepublic void setPartitionId(BuildContext context, RuleBasePartitionId partitionId)
BaseNodesetPartitionId in class BaseNodeprotected void setLeftListenedProperties(Collection<String> leftListenedProperties)
setLeftListenedProperties in class LeftTupleSourcepublic void initInferredMask()
protected void initInferredMask(LeftTupleSource leftInput)
initInferredMask in class LeftTupleSourcepublic ObjectSource unwrapRightInput()
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
readExternal in interface ExternalizablereadExternal in class LeftTupleSourceIOExceptionClassNotFoundExceptionpublic void writeExternal(ObjectOutput out) throws IOException
writeExternal in interface ExternalizablewriteExternal in class LeftTupleSourceIOExceptionpublic void assertObject(InternalFactHandle factHandle, PropagationContext pctx, InternalWorkingMemory wm)
assertObject in interface ObjectSinkpublic void modifyObject(InternalFactHandle factHandle, ModifyPreviousTuples modifyPreviousTuples, PropagationContext context, InternalWorkingMemory wm)
modifyObject in interface ObjectSinkpublic void doDeleteRightTuple(RightTuple rightTuple, InternalWorkingMemory wm, BetaMemory memory)
public void doUpdateRightTuple(RightTuple rightTuple, InternalWorkingMemory wm, BetaMemory memory)
public boolean isRightInputIsRiaNode()
public boolean isRightInputPassive()
public ObjectSource getRightInput()
public void setRightInput(ObjectSource rightInput)
public FastIterator getRightIterator(TupleMemory memory)
public FastIterator getRightIterator(TupleMemory memory, RightTuple rightTuple)
public FastIterator getLeftIterator1(TupleMemory memory)
public RightTuple getFirstRightTuple(Tuple leftTuple, TupleMemory memory, InternalFactHandle factHandle, FastIterator it)
public LeftTuple getFirstLeftTuple1(RightTuple rightTuple, TupleMemory memory, FastIterator it)
public FastIterator getLeftIterator(TupleMemory memory)
public LeftTuple getFirstLeftTuple(RightTuple rightTuple, TupleMemory memory, FastIterator it)
public static Tuple getFirstTuple(TupleMemory memory, FastIterator it)
public boolean isIndexedUnificationJoin()
public BetaNodeFieldConstraint[] getConstraints()
public BetaConstraints getRawConstraints()
public void networkUpdated(UpdateContext updateContext)
BaseNodenetworkUpdated in class BaseNodepublic ObjectTypeNode getObjectTypeNode()
getObjectTypeNode in class BaseNodepublic void doAttach(BuildContext context)
public void byPassModifyToBetaNode(InternalFactHandle factHandle, ModifyPreviousTuples modifyPreviousTuples, PropagationContext context, InternalWorkingMemory workingMemory)
byPassModifyToBetaNode in interface ObjectSinkpublic static BetaMemory getBetaMemory(BetaNode node, InternalWorkingMemory wm)
public boolean isObjectMemoryEnabled()
public boolean isLeftTupleMemoryEnabled()
isLeftTupleMemoryEnabled in interface LeftTupleSinkisLeftTupleMemoryEnabled in class LeftTupleSourcepublic void setLeftTupleMemoryEnabled(boolean tupleMemoryEnabled)
setLeftTupleMemoryEnabled in interface LeftTupleSinkpublic Memory createMemory(RuleBaseConfiguration config, InternalWorkingMemory wm)
createMemory in interface MemoryFactorypublic void dumpMemory(InternalWorkingMemory workingMemory)
protected int calculateHashCode()
public LeftTupleSinkNode getNextLeftTupleSinkNode()
getNextLeftTupleSinkNode in interface LeftTupleSinkNodepublic void setNextLeftTupleSinkNode(LeftTupleSinkNode next)
setNextLeftTupleSinkNode in interface LeftTupleSinkNodenext - The next TupleSinkNodepublic LeftTupleSinkNode getPreviousLeftTupleSinkNode()
getPreviousLeftTupleSinkNode in interface LeftTupleSinkNodepublic void setPreviousLeftTupleSinkNode(LeftTupleSinkNode previous)
setPreviousLeftTupleSinkNode in interface LeftTupleSinkNodeprevious - The previous TupleSinkNodepublic ObjectSinkNode getNextObjectSinkNode()
getNextObjectSinkNode in interface ObjectSinkNodepublic void setNextObjectSinkNode(ObjectSinkNode next)
setNextObjectSinkNode in interface ObjectSinkNodenext - The next ObjectSinkNodepublic ObjectSinkNode getPreviousObjectSinkNode()
getPreviousObjectSinkNode in interface ObjectSinkNodepublic void setPreviousObjectSinkNode(ObjectSinkNode previous)
setPreviousObjectSinkNode in interface ObjectSinkNodeprevious - The previous ObjectSinkNodepublic RightTuple createRightTuple(InternalFactHandle handle, RightTupleSink sink, PropagationContext context)
public static BetaMemory getBetaMemoryFromRightInput(BetaNode betaNode, InternalWorkingMemory workingMemory)
public BitMask getRightDeclaredMask()
public void setRightDeclaredMask(BitMask rightDeclaredMask)
public BitMask getRightInferredMask()
public BitMask getRightNegativeMask()
public ObjectTypeNode.Id getRightInputOtnId()
getRightInputOtnId in interface RightTupleSinkpublic void setRightInputOtnId(ObjectTypeNode.Id rightInputOtnId)
Copyright © 2001–2021 JBoss by Red Hat. All rights reserved.