org.drools.core.reteoo
Class FromNode
java.lang.Object
org.drools.core.common.BaseNode
org.drools.core.reteoo.LeftTupleSource
org.drools.core.reteoo.FromNode
- All Implemented Interfaces:
- Externalizable, Serializable, MemoryFactory, NetworkNode, LeftTupleSink, LeftTupleSinkNode, Sink
public class FromNode
- extends LeftTupleSource
- implements LeftTupleSinkNode, MemoryFactory
- See Also:
- Serialized Form
|
Method Summary |
void |
addToCreatedHandlesMap(Map<Object,RightTuple> matches,
RightTuple rightTuple)
|
void |
assertLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
Assert a new ReteTuple. |
void |
attach(BuildContext context)
Attaches the node into the network. |
protected void |
checkConstraintsAndPropagate(LeftTuple leftTuple,
RightTuple rightTuple,
PropagationContext context,
InternalWorkingMemory workingMemory,
FromNode.FromMemory memory,
boolean useLeftMemory)
|
LeftTuple |
createLeftTuple(InternalFactHandle factHandle,
LeftTuple leftTuple,
LeftTupleSink sink)
|
LeftTuple |
createLeftTuple(InternalFactHandle factHandle,
LeftTupleSink sink,
boolean leftTupleMemoryEnabled)
|
LeftTuple |
createLeftTuple(LeftTuple leftTuple,
LeftTupleSink sink,
PropagationContext pctx,
boolean leftTupleMemoryEnabled)
|
LeftTuple |
createLeftTuple(LeftTuple leftTuple,
RightTuple rightTuple,
LeftTuple currentLeftChild,
LeftTuple currentRightChild,
LeftTupleSink sink,
boolean leftTupleMemoryEnabled)
|
LeftTuple |
createLeftTuple(LeftTuple leftTuple,
RightTuple rightTuple,
LeftTupleSink sink)
|
Memory |
createMemory(RuleBaseConfiguration config,
InternalWorkingMemory wm)
|
LeftTuple |
createPeer(LeftTuple original)
|
RightTuple |
createRightTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory,
Object object)
|
protected void |
doCollectAncestors(NodeSet nodeSet)
|
protected void |
doRemove(RuleRemovalContext context,
ReteooBuilder builder,
InternalWorkingMemory[] workingMemories)
Removes the node from teh network. |
AlphaNodeFieldConstraint[] |
getAlphaConstraints()
|
BetaConstraints |
getBetaConstraints()
|
DataProvider |
getDataProvider()
|
LeftTupleSource |
getLeftTupleSource()
|
LeftTupleSinkNode |
getNextLeftTupleSinkNode()
Returns the next node |
protected ObjectTypeNode |
getObjectTypeNode()
|
LeftTupleSinkNode |
getPreviousLeftTupleSinkNode()
Returns the previous node |
Class<?> |
getResultClass()
|
short |
getType()
|
boolean |
isLeftTupleMemoryEnabled()
|
void |
modifyLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
|
void |
networkUpdated(UpdateContext updateContext)
A method that is called for all nodes whose network below them
changed, after the change is complete, providing them with an oportunity
for state update |
protected RightTuple |
newRightTuple(InternalFactHandle handle,
Object o)
|
void |
readExternal(ObjectInput in)
|
void |
retractLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
|
protected void |
retractMatch(LeftTuple leftTuple,
RightTuple rightTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
|
void |
setLeftTupleMemoryEnabled(boolean tupleMemoryEnabled)
|
void |
setNextLeftTupleSinkNode(LeftTupleSinkNode next)
Sets the next node |
void |
setPreviousLeftTupleSinkNode(LeftTupleSinkNode previous)
Sets the previous node |
void |
updateSink(LeftTupleSink sink,
PropagationContext context,
InternalWorkingMemory workingMemory)
|
void |
writeExternal(ObjectOutput out)
|
| Methods inherited from class org.drools.core.reteoo.LeftTupleSource |
addTupleSink, addTupleSink, addTupleSink, doModifyLeftTuple, getLeftDeclaredMask, getLeftInferredMask, getLeftInputOtnId, getLeftNegativeMask, getObjectType, getSinkPropagator, initDeclaredMask, initInferredMask, initMasks, isInUse, isUnlinkingEnabled, modifyLeftTuple, removeTupleSink, setLeftInferredMask, setLeftInputOtnId, setLeftListenedProperties, setLeftTupleSource |
| Methods inherited from class org.drools.core.common.BaseNode |
addAssociation, attach, collectAncestors, getAssociations, getId, getPartitionId, hashCode, isStreamMode, remove, removeAssociation, setId, setPartitionId, toString |
dataProvider
protected DataProvider dataProvider
alphaConstraints
protected AlphaNodeFieldConstraint[] alphaConstraints
betaConstraints
protected BetaConstraints betaConstraints
previousTupleSinkNode
protected LeftTupleSinkNode previousTupleSinkNode
nextTupleSinkNode
protected LeftTupleSinkNode nextTupleSinkNode
from
protected From from
resultClass
protected Class<?> resultClass
tupleMemoryEnabled
protected boolean tupleMemoryEnabled
FromNode
public FromNode()
FromNode
public FromNode(int id,
DataProvider dataProvider,
LeftTupleSource tupleSource,
AlphaNodeFieldConstraint[] constraints,
BetaConstraints binder,
boolean tupleMemoryEnabled,
BuildContext context,
From from)
readExternal
public void readExternal(ObjectInput in)
throws IOException,
ClassNotFoundException
- Specified by:
readExternal in interface Externalizable- Overrides:
readExternal in class LeftTupleSource
- Throws:
IOException
ClassNotFoundException
writeExternal
public void writeExternal(ObjectOutput out)
throws IOException
- Specified by:
writeExternal in interface Externalizable- Overrides:
writeExternal in class LeftTupleSource
- Throws:
IOException
getDataProvider
public DataProvider getDataProvider()
getAlphaConstraints
public AlphaNodeFieldConstraint[] getAlphaConstraints()
getBetaConstraints
public BetaConstraints getBetaConstraints()
getResultClass
public Class<?> getResultClass()
assertLeftTuple
public void assertLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
- Description copied from interface:
LeftTupleSink
- Assert a new
ReteTuple.
- Specified by:
assertLeftTuple in interface LeftTupleSink
- Parameters:
leftTuple - The ReteTuple to propagate.context - The PropagationContext of the WorkingMemory actionworkingMemory - the WorkingMemory session.
createRightTuple
public RightTuple createRightTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory,
Object object)
newRightTuple
protected RightTuple newRightTuple(InternalFactHandle handle,
Object o)
addToCreatedHandlesMap
public void addToCreatedHandlesMap(Map<Object,RightTuple> matches,
RightTuple rightTuple)
modifyLeftTuple
public void modifyLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
- Specified by:
modifyLeftTuple in interface LeftTupleSink
checkConstraintsAndPropagate
protected void checkConstraintsAndPropagate(LeftTuple leftTuple,
RightTuple rightTuple,
PropagationContext context,
InternalWorkingMemory workingMemory,
FromNode.FromMemory memory,
boolean useLeftMemory)
retractMatch
protected void retractMatch(LeftTuple leftTuple,
RightTuple rightTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
retractLeftTuple
public void retractLeftTuple(LeftTuple leftTuple,
PropagationContext context,
InternalWorkingMemory workingMemory)
- Specified by:
retractLeftTuple in interface LeftTupleSink
attach
public void attach(BuildContext context)
- Description copied from class:
BaseNode
- Attaches the node into the network. Usually to the parent
ObjectSource or TupleSource
- Specified by:
attach in class BaseNode
networkUpdated
public void networkUpdated(UpdateContext updateContext)
- Description copied from class:
BaseNode
- A method that is called for all nodes whose network below them
changed, after the change is complete, providing them with an oportunity
for state update
- Specified by:
networkUpdated in class BaseNode
doRemove
protected void doRemove(RuleRemovalContext context,
ReteooBuilder builder,
InternalWorkingMemory[] workingMemories)
- Description copied from class:
BaseNode
- Removes the node from teh network. Usually from the parent
ObjectSource or TupleSource
- Specified by:
doRemove in class BaseNode
doCollectAncestors
protected void doCollectAncestors(NodeSet nodeSet)
- Specified by:
doCollectAncestors in class BaseNode
updateSink
public void updateSink(LeftTupleSink sink,
PropagationContext context,
InternalWorkingMemory workingMemory)
- Specified by:
updateSink in class LeftTupleSource
createMemory
public Memory createMemory(RuleBaseConfiguration config,
InternalWorkingMemory wm)
- Specified by:
createMemory in interface MemoryFactory
createPeer
public LeftTuple createPeer(LeftTuple original)
- Specified by:
createPeer in interface LeftTupleSink- Specified by:
createPeer in class LeftTupleSource
isLeftTupleMemoryEnabled
public boolean isLeftTupleMemoryEnabled()
- Specified by:
isLeftTupleMemoryEnabled in interface LeftTupleSink- Specified by:
isLeftTupleMemoryEnabled in class LeftTupleSource
setLeftTupleMemoryEnabled
public void setLeftTupleMemoryEnabled(boolean tupleMemoryEnabled)
- Specified by:
setLeftTupleMemoryEnabled in interface LeftTupleSink
getNextLeftTupleSinkNode
public LeftTupleSinkNode getNextLeftTupleSinkNode()
- Returns the next node
- Specified by:
getNextLeftTupleSinkNode in interface LeftTupleSinkNode
- Returns:
- The next TupleSinkNode
setNextLeftTupleSinkNode
public void setNextLeftTupleSinkNode(LeftTupleSinkNode next)
- Sets the next node
- Specified by:
setNextLeftTupleSinkNode in interface LeftTupleSinkNode
- Parameters:
next - The next TupleSinkNode
getPreviousLeftTupleSinkNode
public LeftTupleSinkNode getPreviousLeftTupleSinkNode()
- Returns the previous node
- Specified by:
getPreviousLeftTupleSinkNode in interface LeftTupleSinkNode
- Returns:
- The previous TupleSinkNode
setPreviousLeftTupleSinkNode
public void setPreviousLeftTupleSinkNode(LeftTupleSinkNode previous)
- Sets the previous node
- Specified by:
setPreviousLeftTupleSinkNode in interface LeftTupleSinkNode
- Parameters:
previous - The previous TupleSinkNode
getType
public short getType()
- Specified by:
getType in interface NetworkNode- Specified by:
getType in interface LeftTupleSink- Specified by:
getType in class LeftTupleSource
createLeftTuple
public LeftTuple createLeftTuple(InternalFactHandle factHandle,
LeftTupleSink sink,
boolean leftTupleMemoryEnabled)
- Specified by:
createLeftTuple in interface LeftTupleSink
createLeftTuple
public LeftTuple createLeftTuple(InternalFactHandle factHandle,
LeftTuple leftTuple,
LeftTupleSink sink)
- Specified by:
createLeftTuple in interface LeftTupleSink
createLeftTuple
public LeftTuple createLeftTuple(LeftTuple leftTuple,
LeftTupleSink sink,
PropagationContext pctx,
boolean leftTupleMemoryEnabled)
- Specified by:
createLeftTuple in interface LeftTupleSink
createLeftTuple
public LeftTuple createLeftTuple(LeftTuple leftTuple,
RightTuple rightTuple,
LeftTupleSink sink)
- Specified by:
createLeftTuple in interface LeftTupleSink
createLeftTuple
public LeftTuple createLeftTuple(LeftTuple leftTuple,
RightTuple rightTuple,
LeftTuple currentLeftChild,
LeftTuple currentRightChild,
LeftTupleSink sink,
boolean leftTupleMemoryEnabled)
- Specified by:
createLeftTuple in interface LeftTupleSink
getLeftTupleSource
public LeftTupleSource getLeftTupleSource()
- Specified by:
getLeftTupleSource in interface LeftTupleSink- Overrides:
getLeftTupleSource in class LeftTupleSource
getObjectTypeNode
protected ObjectTypeNode getObjectTypeNode()
- Specified by:
getObjectTypeNode in class LeftTupleSource
Copyright © 2001-2013 JBoss by Red Hat. All Rights Reserved.