org.drools.reteoo.nodes
Class ReteAccumulateNode
java.lang.Object
org.drools.core.common.BaseNode
org.drools.core.reteoo.LeftTupleSource
org.drools.core.reteoo.BetaNode
org.drools.core.reteoo.AccumulateNode
org.drools.reteoo.nodes.ReteAccumulateNode
- All Implemented Interfaces:
- Externalizable, Serializable, org.drools.core.common.MemoryFactory, org.drools.core.common.NetworkNode, org.drools.core.reteoo.LeftTupleSink, org.drools.core.reteoo.LeftTupleSinkNode, org.drools.core.reteoo.ObjectSink, org.drools.core.reteoo.ObjectSinkNode, org.drools.core.reteoo.RightTupleSink, org.drools.core.reteoo.Sink
public class ReteAccumulateNode
- extends org.drools.core.reteoo.AccumulateNode
- See Also:
- Serialized Form
| Nested classes/interfaces inherited from class org.drools.core.reteoo.AccumulateNode |
org.drools.core.reteoo.AccumulateNode.AccumulateContext, org.drools.core.reteoo.AccumulateNode.AccumulateMemory, org.drools.core.reteoo.AccumulateNode.ActivitySource |
| Fields inherited from class org.drools.core.reteoo.AccumulateNode |
accumulate, resultBinder, resultConstraints, unwrapRightObject |
| Fields inherited from class org.drools.core.reteoo.BetaNode |
concurrentRightTupleMemory, constraints, indexedUnificationJoin, log, objectMemory, rightInput, tupleMemoryEnabled |
| Fields inherited from class org.drools.core.reteoo.LeftTupleSource |
leftInput, sink |
| Fields inherited from class org.drools.core.common.BaseNode |
associations, id, partitionId, partitionsEnabled, streamMode |
|
Constructor Summary |
ReteAccumulateNode()
|
ReteAccumulateNode(int id,
org.drools.core.reteoo.LeftTupleSource leftInput,
org.drools.core.reteoo.ObjectSource rightInput,
org.drools.core.spi.AlphaNodeFieldConstraint[] resultConstraints,
org.drools.core.common.BetaConstraints sourceBinder,
org.drools.core.common.BetaConstraints resultBinder,
org.drools.core.rule.Accumulate accumulate,
boolean unwrapRightObject,
org.drools.core.reteoo.builder.BuildContext context)
|
|
Method Summary |
void |
assertLeftTuple(org.drools.core.reteoo.LeftTuple leftTuple,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory)
|
void |
assertObject(org.drools.core.common.InternalFactHandle factHandle,
org.drools.core.spi.PropagationContext pctx,
org.drools.core.common.InternalWorkingMemory wm)
|
void |
assertRightTuple(org.drools.core.reteoo.RightTuple rightTuple,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory)
|
void |
attach(org.drools.core.reteoo.builder.BuildContext context)
|
void |
doRemove(org.drools.core.reteoo.RuleRemovalContext context,
org.drools.core.reteoo.ReteooBuilder builder,
org.drools.core.common.InternalWorkingMemory[] workingMemories)
|
void |
evaluateResultConstraints(org.drools.core.reteoo.AccumulateNode.ActivitySource source,
org.drools.core.reteoo.LeftTuple leftTuple,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory,
org.drools.core.reteoo.AccumulateNode.AccumulateMemory memory,
org.drools.core.reteoo.AccumulateNode.AccumulateContext accctx,
boolean useLeftMemory)
Evaluate result constraints and propagate assert in case they are true |
org.drools.core.reteoo.LeftTuple |
getFirstMatch(org.drools.core.reteoo.LeftTuple leftTuple,
org.drools.core.reteoo.AccumulateNode.AccumulateContext accctx,
boolean isUpdatingSink)
Skips the propagated tuple handles and return the first handle
in the list that correspond to a match |
void |
modifyLeftTuple(org.drools.core.common.InternalFactHandle factHandle,
org.drools.core.reteoo.ModifyPreviousTuples modifyPreviousTuples,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory)
|
void |
modifyLeftTuple(org.drools.core.reteoo.LeftTuple leftTuple,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory)
|
void |
modifyObject(org.drools.core.common.InternalFactHandle factHandle,
org.drools.core.reteoo.ModifyPreviousTuples modifyPreviousTuples,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory)
|
void |
modifyRightTuple(org.drools.core.reteoo.RightTuple rightTuple,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory)
|
void |
retractLeftTuple(org.drools.core.reteoo.LeftTuple leftTuple,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory)
|
void |
retractRightTuple(org.drools.core.reteoo.RightTuple rightTuple,
org.drools.core.spi.PropagationContext pctx,
org.drools.core.common.InternalWorkingMemory workingMemory)
|
protected org.drools.core.reteoo.LeftTuple[] |
splitList(org.drools.core.reteoo.LeftTuple parent,
org.drools.core.reteoo.AccumulateNode.AccumulateContext accctx,
boolean isUpdatingSink)
|
void |
updateSink(org.drools.core.reteoo.LeftTupleSink sink,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory)
|
| Methods inherited from class org.drools.core.reteoo.AccumulateNode |
createLeftTuple, createLeftTuple, createLeftTuple, createLeftTuple, createLeftTuple, createMemory, createPeer, createResultFactHandle, doRemove, equals, getAccumulate, getResultBinder, getResultConstraints, getType, hashCode, isUnwrapRightObject, readExternal, writeExternal |
| Methods inherited from class org.drools.core.reteoo.BetaNode |
byPassModifyToBetaNode, createRightTuple, doDeleteRightTuple, doUpdateRightTuple, dumpMemory, getBetaMemory, getBetaMemoryFromRightInput, getConstraints, getFirstLeftTuple, getFirstLeftTuple, getFirstRightTuple, getFirstRightTuple, getLeftIterator, getLeftTupleSource, getNextLeftTupleSinkNode, getNextObjectSinkNode, getObjectTypeNode, getPreviousLeftTupleSinkNode, getPreviousObjectSinkNode, getRawConstraints, getRightDeclaredMask, getRightInferredMask, getRightInput, getRightInputOtnId, getRightIterator, getRightIterator, getRightNegativeMask, getRules, initDeclaredMask, initInferredMask, initInferredMask, isConcurrentRightTupleMemory, isIndexedUnificationJoin, isLeftTupleMemoryEnabled, isObjectMemoryEnabled, isRightInputIsRiaNode, networkUpdated, setConcurrentRightTupleMemory, setConstraints, setLeftListenedProperties, setLeftTupleMemoryEnabled, setNextLeftTupleSinkNode, setNextObjectSinkNode, setObjectMemoryEnabled, setPreviousLeftTupleSinkNode, setPreviousObjectSinkNode, setRightDeclaredMask, setRightInputOtnId, setUnificationJoin, toString, unwrapRightInput |
| Methods inherited from class org.drools.core.reteoo.LeftTupleSource |
addTupleSink, addTupleSink, addTupleSink, getLeftDeclaredMask, getLeftInferredMask, getLeftInputOtnId, getLeftNegativeMask, getObjectType, getSinkPropagator, initMasks, isInUse, removeTupleSink, setLeftInferredMask, setLeftInputOtnId, setLeftTupleSource |
| Methods inherited from class org.drools.core.common.BaseNode |
addAssociation, attach, getAssociations, getId, getPartitionId, isStreamMode, remove, removeAssociation, setId, setPartitionId |
| Methods inherited from interface org.drools.core.reteoo.LeftTupleSink |
getLeftInferredMask, getLeftInputOtnId, setLeftInputOtnId |
| Methods inherited from interface org.drools.core.common.NetworkNode |
getAssociations, getId, getPartitionId |
| Methods inherited from interface org.drools.core.common.MemoryFactory |
getId |
ReteAccumulateNode
public ReteAccumulateNode()
ReteAccumulateNode
public ReteAccumulateNode(int id,
org.drools.core.reteoo.LeftTupleSource leftInput,
org.drools.core.reteoo.ObjectSource rightInput,
org.drools.core.spi.AlphaNodeFieldConstraint[] resultConstraints,
org.drools.core.common.BetaConstraints sourceBinder,
org.drools.core.common.BetaConstraints resultBinder,
org.drools.core.rule.Accumulate accumulate,
boolean unwrapRightObject,
org.drools.core.reteoo.builder.BuildContext context)
modifyLeftTuple
public void modifyLeftTuple(org.drools.core.common.InternalFactHandle factHandle,
org.drools.core.reteoo.ModifyPreviousTuples modifyPreviousTuples,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory)
- Specified by:
modifyLeftTuple in interface org.drools.core.reteoo.LeftTupleSink- Overrides:
modifyLeftTuple in class org.drools.core.reteoo.AccumulateNode
assertObject
public void assertObject(org.drools.core.common.InternalFactHandle factHandle,
org.drools.core.spi.PropagationContext pctx,
org.drools.core.common.InternalWorkingMemory wm)
- Specified by:
assertObject in interface org.drools.core.reteoo.ObjectSink- Overrides:
assertObject in class org.drools.core.reteoo.BetaNode
attach
public void attach(org.drools.core.reteoo.builder.BuildContext context)
- Overrides:
attach in class org.drools.core.reteoo.BetaNode
doRemove
public void doRemove(org.drools.core.reteoo.RuleRemovalContext context,
org.drools.core.reteoo.ReteooBuilder builder,
org.drools.core.common.InternalWorkingMemory[] workingMemories)
- Overrides:
doRemove in class org.drools.core.reteoo.AccumulateNode
modifyObject
public void modifyObject(org.drools.core.common.InternalFactHandle factHandle,
org.drools.core.reteoo.ModifyPreviousTuples modifyPreviousTuples,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory)
- Specified by:
modifyObject in interface org.drools.core.reteoo.ObjectSink- Overrides:
modifyObject in class org.drools.core.reteoo.BetaNode
assertLeftTuple
public void assertLeftTuple(org.drools.core.reteoo.LeftTuple leftTuple,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory)
- Specified by:
assertLeftTuple in interface org.drools.core.reteoo.LeftTupleSink- Overrides:
assertLeftTuple in class org.drools.core.reteoo.AccumulateNode
retractLeftTuple
public void retractLeftTuple(org.drools.core.reteoo.LeftTuple leftTuple,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory)
- Specified by:
retractLeftTuple in interface org.drools.core.reteoo.LeftTupleSink- Overrides:
retractLeftTuple in class org.drools.core.reteoo.AccumulateNode
assertRightTuple
public void assertRightTuple(org.drools.core.reteoo.RightTuple rightTuple,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory)
- Specified by:
assertRightTuple in interface org.drools.core.reteoo.RightTupleSink- Overrides:
assertRightTuple in class org.drools.core.reteoo.AccumulateNode
retractRightTuple
public void retractRightTuple(org.drools.core.reteoo.RightTuple rightTuple,
org.drools.core.spi.PropagationContext pctx,
org.drools.core.common.InternalWorkingMemory workingMemory)
- Specified by:
retractRightTuple in interface org.drools.core.reteoo.RightTupleSink- Overrides:
retractRightTuple in class org.drools.core.reteoo.AccumulateNode
modifyLeftTuple
public void modifyLeftTuple(org.drools.core.reteoo.LeftTuple leftTuple,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory)
- Specified by:
modifyLeftTuple in interface org.drools.core.reteoo.LeftTupleSink- Overrides:
modifyLeftTuple in class org.drools.core.reteoo.AccumulateNode
modifyRightTuple
public void modifyRightTuple(org.drools.core.reteoo.RightTuple rightTuple,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory)
- Specified by:
modifyRightTuple in interface org.drools.core.reteoo.RightTupleSink- Overrides:
modifyRightTuple in class org.drools.core.reteoo.AccumulateNode
evaluateResultConstraints
public void evaluateResultConstraints(org.drools.core.reteoo.AccumulateNode.ActivitySource source,
org.drools.core.reteoo.LeftTuple leftTuple,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory,
org.drools.core.reteoo.AccumulateNode.AccumulateMemory memory,
org.drools.core.reteoo.AccumulateNode.AccumulateContext accctx,
boolean useLeftMemory)
- Evaluate result constraints and propagate assert in case they are true
updateSink
public void updateSink(org.drools.core.reteoo.LeftTupleSink sink,
org.drools.core.spi.PropagationContext context,
org.drools.core.common.InternalWorkingMemory workingMemory)
- Overrides:
updateSink in class org.drools.core.reteoo.AccumulateNode
splitList
protected org.drools.core.reteoo.LeftTuple[] splitList(org.drools.core.reteoo.LeftTuple parent,
org.drools.core.reteoo.AccumulateNode.AccumulateContext accctx,
boolean isUpdatingSink)
getFirstMatch
public org.drools.core.reteoo.LeftTuple getFirstMatch(org.drools.core.reteoo.LeftTuple leftTuple,
org.drools.core.reteoo.AccumulateNode.AccumulateContext accctx,
boolean isUpdatingSink)
- Skips the propagated tuple handles and return the first handle
in the list that correspond to a match
- Parameters:
leftTuple - accctx -
- Returns:
Copyright © 2001-2013 JBoss by Red Hat. All Rights Reserved.