|
||||||||||
| 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 BehaviorManager |
behavior
|
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, getSinkPropagator, isInUse, removeTupleSink, updateSink |
| Methods inherited from class org.drools.common.BaseNode |
|---|
addAssociation, 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, getType, modifyLeftTuple, retractLeftTuple |
| 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 BehaviorManager behavior
protected boolean objectMemory
protected boolean tupleMemoryEnabled
protected boolean concurrentRightTupleMemory
protected boolean lrUnlinkingEnabled
LRUnlinkingOption| Constructor Detail |
|---|
public BetaNode()
| Method Detail |
|---|
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 void setUnificationJoin()
public 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 Behavior[] getBehaviors()
public void attach()
BaseNodeObjectSource or TupleSource
attach in class BaseNodepublic void networkUpdated()
BaseNode
networkUpdated in class BaseNodepublic List<String> getRules()
public ObjectTypeNode getObjectTypeNode()
public void attach(InternalWorkingMemory[] workingMemories)
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 modifyLeftTuple(InternalFactHandle factHandle,
ModifyPreviousTuples modifyPreviousTuples,
PropagationContext context,
InternalWorkingMemory workingMemory)
modifyLeftTuple in interface LeftTupleSinkpublic 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 Object 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)
protected boolean leftUnlinked(PropagationContext context,
InternalWorkingMemory workingMemory,
BetaMemory memory)
protected boolean rightUnlinked(PropagationContext context,
InternalWorkingMemory workingMemory,
BetaMemory memory)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||