|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.drools.common.BaseNode
org.drools.reteoo.LeftTupleSource
org.drools.reteoo.BetaNode
public abstract class BetaNode
BetaNode provides the base abstract class for JoinNode and NotNode. It implements
both TupleSink and ObjectSink and as such can receive Tuples and FactHandles. BetaNode uses BetaMemory
to store the propagated instances.
LeftTupleSource,
LeftTupleSink,
BetaMemory,
Serialized Form| Field Summary | |
|---|---|
protected boolean |
concurrentRightTupleMemory
|
protected BetaConstraints |
constraints
|
protected LeftTupleSource |
leftInput
The left input TupleSource. |
protected boolean |
lrUnlinkingEnabled
|
protected boolean |
objectMemory
|
protected ObjectSource |
rightInput
The right input TupleSource. |
protected boolean |
tupleMemoryEnabled
|
| Fields inherited from class org.drools.reteoo.LeftTupleSource |
|---|
sink |
| Fields inherited from class org.drools.common.BaseNode |
|---|
associations, id, partitionId, partitionsEnabled |
| Constructor Summary | |
|---|---|
BetaNode()
|
|
| Methods inherited from class org.drools.reteoo.LeftTupleSource |
|---|
addTupleSink, addTupleSink, addTupleSink, doModifyLeftTuple, getLeftDeclaredMask, getLeftInferredMask, getLeftInputOtnId, getLeftNegativeMask, getObjectType, getSinkPropagator, initMasks, isInUse, modifyLeftTuple, removeTupleSink, setLeftInferredMask, setLeftInputOtnId, unwrapLeftInput, updateSink |
| Methods inherited from class org.drools.common.BaseNode |
|---|
addAssociation, attach, getAssociations, getId, getPartitionId, remove, removeAssociation, setPartitionId |
| Methods inherited from class java.lang.Object |
|---|
clone, finalize, getClass, notify, notifyAll, wait, wait, wait |
| Methods inherited from interface org.drools.reteoo.LeftTupleSink |
|---|
assertLeftTuple, createLeftTuple, createLeftTuple, createLeftTuple, createLeftTuple, getLeftInputOtnId, getType, modifyLeftTuple, modifyLeftTuple, retractLeftTuple, setLeftInputOtnId |
| Methods inherited from interface org.drools.reteoo.ObjectSink |
|---|
assertObject |
| Methods inherited from interface org.drools.common.NetworkNode |
|---|
getId, getPartitionId |
| Methods inherited from interface org.drools.reteoo.RightTupleSink |
|---|
getType, modifyRightTuple, retractRightTuple |
| Methods inherited from interface org.drools.common.NodeMemory |
|---|
getId |
| Field Detail |
|---|
protected LeftTupleSource leftInput
TupleSource.
protected ObjectSource rightInput
TupleSource.
protected BetaConstraints constraints
protected boolean objectMemory
protected boolean tupleMemoryEnabled
protected boolean concurrentRightTupleMemory
protected boolean lrUnlinkingEnabled
LRUnlinkingOption| Constructor Detail |
|---|
public BetaNode()
| Method Detail |
|---|
protected void initDeclaredMask(BuildContext context,
LeftTupleSource leftInput)
initDeclaredMask in class LeftTupleSourceprotected void setLeftListenedProperties(List<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 LeftTupleSourceIOException
ClassNotFoundException
public void writeExternal(ObjectOutput out)
throws IOException
writeExternal in interface ExternalizablewriteExternal in class LeftTupleSourceIOExceptionpublic FastIterator getRightIterator(RightTupleMemory memory)
public FastIterator getLeftIterator(LeftTupleMemory memory)
public RightTuple getFirstRightTuple(LeftTuple leftTuple,
RightTupleMemory memory,
PropagationContext context,
FastIterator it)
public LeftTuple getFirstLeftTuple(RightTuple rightTuple,
LeftTupleMemory memory,
PropagationContext context,
FastIterator it)
public static RightTuple getFirstRightTuple(RightTupleMemory memory,
FastIterator it)
public static LeftTuple getFirstLeftTuple(LeftTupleMemory memory,
FastIterator it)
public BetaNodeFieldConstraint[] getConstraints()
public BetaConstraints getRawConstraints()
public void networkUpdated(UpdateContext updateContext)
BaseNode
networkUpdated in class BaseNodepublic List<String> getRules()
protected ObjectTypeNode getObjectTypeNode()
getObjectTypeNode in class LeftTupleSourcepublic void attach(BuildContext context)
BaseNodeObjectSource or TupleSource
attach in class BaseNode
protected void doRemove(RuleRemovalContext context,
ReteooBuilder builder,
BaseNode node,
InternalWorkingMemory[] workingMemories)
BaseNodeObjectSource or TupleSource
doRemove in class BaseNode
public void modifyObject(InternalFactHandle factHandle,
ModifyPreviousTuples modifyPreviousTuples,
PropagationContext context,
InternalWorkingMemory workingMemory)
modifyObject in interface ObjectSink
public void byPassModifyToBetaNode(InternalFactHandle factHandle,
ModifyPreviousTuples modifyPreviousTuples,
PropagationContext context,
InternalWorkingMemory workingMemory)
byPassModifyToBetaNode in interface ObjectSinkpublic boolean isObjectMemoryEnabled()
public void setObjectMemoryEnabled(boolean objectMemory)
public boolean isLeftTupleMemoryEnabled()
isLeftTupleMemoryEnabled in interface LeftTupleSinkpublic void setLeftTupleMemoryEnabled(boolean tupleMemoryEnabled)
setLeftTupleMemoryEnabled in interface LeftTupleSinkpublic boolean isConcurrentRightTupleMemory()
public void setConcurrentRightTupleMemory(boolean concurrentRightTupleMemory)
public String toString()
toString in class BaseNodepublic void dumpMemory(InternalWorkingMemory workingMemory)
public LeftTupleSource getLeftTupleSource()
getLeftTupleSource in interface LeftTupleSinkpublic int hashCode()
BaseNode
hashCode in class BaseNodepublic boolean equals(Object object)
equals in class Objectpublic Memory createMemory(RuleBaseConfiguration config)
createMemory in interface NodeMemorypublic 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 ObjectSinkNode
public RightTuple createRightTuple(InternalFactHandle handle,
RightTupleSink sink,
PropagationContext context)
protected boolean leftUnlinked(PropagationContext context,
InternalWorkingMemory workingMemory,
BetaMemory memory)
protected boolean rightUnlinked(PropagationContext context,
InternalWorkingMemory workingMemory,
BetaMemory memory)
public long getRightDeclaredMask()
public void setRightDeclaredMask(long rightDeclaredMask)
public long getRightInferredMask()
public long getRightNegativeMask()
public int getRightInputOtnId()
public void setRightInputOtnId(int rightInputOtnId)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||