|
||||||||||
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 Tuple
s and FactHandle
s. BetaNode uses BetaMemory
to store the propagated instances.
LeftTupleSource
,
LeftTupleSink
,
BetaMemory
,
Serialized FormField 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 |
---|
createMemory, 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 Externalizable
readExternal
in class LeftTupleSource
IOException
ClassNotFoundException
public void writeExternal(ObjectOutput out) throws IOException
writeExternal
in interface Externalizable
writeExternal
in class LeftTupleSource
IOException
public 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()
BaseNode
ObjectSource
or TupleSource
attach
in class BaseNode
public void networkUpdated()
BaseNode
networkUpdated
in class BaseNode
public 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)
BaseNode
ObjectSource
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 LeftTupleSink
public boolean isObjectMemoryEnabled()
public void setObjectMemoryEnabled(boolean objectMemory)
public boolean isLeftTupleMemoryEnabled()
isLeftTupleMemoryEnabled
in interface LeftTupleSink
public void setLeftTupleMemoryEnabled(boolean tupleMemoryEnabled)
setLeftTupleMemoryEnabled
in interface LeftTupleSink
public boolean isConcurrentRightTupleMemory()
public void setConcurrentRightTupleMemory(boolean concurrentRightTupleMemory)
public String toString()
toString
in class BaseNode
public void dumpMemory(InternalWorkingMemory workingMemory)
public LeftTupleSource getLeftTupleSource()
getLeftTupleSource
in interface LeftTupleSink
public int hashCode()
BaseNode
hashCode
in class BaseNode
public boolean equals(Object object)
equals
in class Object
protected Memory createMemory(RuleBaseConfiguration config, short nodeType)
public LeftTupleSinkNode getNextLeftTupleSinkNode()
getNextLeftTupleSinkNode
in interface LeftTupleSinkNode
public void setNextLeftTupleSinkNode(LeftTupleSinkNode next)
setNextLeftTupleSinkNode
in interface LeftTupleSinkNode
next
- The next TupleSinkNodepublic LeftTupleSinkNode getPreviousLeftTupleSinkNode()
getPreviousLeftTupleSinkNode
in interface LeftTupleSinkNode
public void setPreviousLeftTupleSinkNode(LeftTupleSinkNode previous)
setPreviousLeftTupleSinkNode
in interface LeftTupleSinkNode
previous
- The previous TupleSinkNodepublic ObjectSinkNode getNextObjectSinkNode()
getNextObjectSinkNode
in interface ObjectSinkNode
public void setNextObjectSinkNode(ObjectSinkNode next)
setNextObjectSinkNode
in interface ObjectSinkNode
next
- The next ObjectSinkNodepublic ObjectSinkNode getPreviousObjectSinkNode()
getPreviousObjectSinkNode
in interface ObjectSinkNode
public void setPreviousObjectSinkNode(ObjectSinkNode previous)
setPreviousObjectSinkNode
in interface ObjectSinkNode
previous
- The previous ObjectSinkNodepublic 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 |