Package org.drools.core.reteoo
Class AccumulateNode
java.lang.Object
org.drools.core.common.BaseNode
org.drools.core.reteoo.LeftTupleSource
org.drools.core.reteoo.BetaNode
org.drools.core.reteoo.AccumulateNode
- All Implemented Interfaces:
Serializable,NetworkNode,MemoryFactory,LeftTupleNode,LeftTupleSink,LeftTupleSinkNode,ObjectSink,ObjectSinkNode,RightTupleSink,Sink
AccumulateNode
A beta node capable of doing accumulate logic.
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic classstatic classstatic interfacestatic classstatic classstatic classNested classes/interfaces inherited from class org.drools.core.reteoo.BetaNode
BetaNode.RightTupleSinkAdapter -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected Accumulateprotected BetaConstraintsprotected AlphaNodeFieldConstraint[]Fields inherited from class org.drools.core.reteoo.BetaNode
constraints, indexedUnificationJoin, isLogTraceEnabled, log, objectMemory, rightInput, rightInputIsRiaNode, tupleMemoryEnabledFields inherited from class org.drools.core.reteoo.LeftTupleSource
leftDeclaredMask, leftInferredMask, leftInput, leftNegativeMask, sinkFields inherited from class org.drools.core.common.BaseNode
associations, hashcode, id, memoryId, partitionId -
Constructor Summary
ConstructorsConstructorDescriptionAccumulateNode(int id, LeftTupleSource leftInput, ObjectSource rightInput, AlphaNodeFieldConstraint[] resultConstraints, BetaConstraints sourceBinder, BetaConstraints resultBinder, Accumulate accumulate, BuildContext context) -
Method Summary
Modifier and TypeMethodDescriptionprotected intcreateMemory(RuleBaseConfiguration config, ReteEvaluator reteEvaluator) Creates a BetaMemory for the BetaNode's memory.createResultFactHandle(PropagationContext context, ReteEvaluator reteEvaluator, TupleImpl leftTuple, Object result) voiddoAttach(BuildContext context) booleandoRemove(RuleRemovalContext context, ReteooBuilder builder) Removes the node from the network.booleanprotected ObjectTypegetObjectTypeForPropertyReactivity(LeftInputAdapterNode leftInput, Pattern pattern) intgetType()voidmodifyRightTuple(TupleImpl rightTuple, PropagationContext context, ReteEvaluator reteEvaluator) voidretractRightTuple(TupleImpl rightTuple, PropagationContext pctx, ReteEvaluator reteEvaluator) Methods inherited from class org.drools.core.reteoo.BetaNode
assertObject, byPassModifyToBetaNode, createRightTuple, doDeleteRightTuple, doUpdateRightTuple, getBetaMemory, getBetaMemoryFromRightInput, getConstraints, getFirstLeftTuple, getFirstRightTuple, getFirstTuple, getLeftIterator, getNextLeftTupleSinkNode, getNextObjectSinkNode, getObjectTypeNode, getPreviousLeftTupleSinkNode, getPreviousObjectSinkNode, getRawConstraints, getRightDeclaredMask, getRightInferredMask, getRightInput, getRightInputOtnId, getRightIterator, getRightNegativeMask, getRules, getStartTuple, initDeclaredMask, initInferredMask, initInferredMask, isIndexedUnificationJoin, isLeftTupleMemoryEnabled, isObjectMemoryEnabled, isRightInputIsRiaNode, isRightInputPassive, modifyObject, networkUpdated, reorderRightTuple, setLeftListenedProperties, setNextLeftTupleSinkNode, setNextObjectSinkNode, setPartitionId, setPreviousLeftTupleSinkNode, setPreviousObjectSinkNode, setRightInput, setRightInputOtnId, toString, unwrapRightInputMethods inherited from class org.drools.core.reteoo.LeftTupleSource
addTupleSink, addTupleSink, addTupleSink, getFirstLeftTupleSinkIgnoreRemoving, getLeftDeclaredMask, getLeftInferredMask, getLeftInputOtnId, getLeftInputPattern, getLeftNegativeMask, getLeftTupleSource, getObjectCount, getObjectType, getPathIndex, getSinkPropagator, initMasks, isInUse, removeTupleSink, setLeftInferredMask, setLeftInputOtnId, setLeftTupleSource, setNodeConstraintsPropertyReactiveMask, setObjectCount, setPartitionIdWithSinks, setSourcePartitionId, setSourcePartitionIdMethods inherited from class org.drools.core.common.BaseNode
addAssociatedTerminal, addAssociation, addAssociation, attach, getAssociatedRules, getAssociatedTerminalsSize, getAssociationsSize, getId, getMemoryId, getPartitionId, getSinks, hasAssociatedTerminal, hashCode, initMemoryId, isAssociatedWith, isStreamMode, remove, removeAssociatedTerminal, removeAssociation, setId, setStreamModeMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, waitMethods inherited from interface org.drools.core.reteoo.LeftTupleNode
getLeftTupleSource, getObjectCount, getPathIndex, getSinkPropagator, setObjectCountMethods inherited from interface org.drools.core.reteoo.LeftTupleSink
getLeftInferredMask, getLeftInputOtnId, setLeftInputOtnId, setPartitionIdWithSinksMethods inherited from interface org.drools.core.common.MemoryFactory
getMemoryIdMethods inherited from interface org.drools.base.common.NetworkNode
addAssociatedTerminal, getAssociatedRules, getAssociatedTerminalsSize, getId, getPartitionId, getSinks, hasAssociatedTerminal, isAssociatedWith, removeAssociatedTerminalMethods inherited from interface org.drools.core.reteoo.ObjectSinkNode
setPartitionIdWithSinks
-
Field Details
-
accumulate
-
resultConstraints
-
resultBinder
-
-
Constructor Details
-
AccumulateNode
public AccumulateNode() -
AccumulateNode
public AccumulateNode(int id, LeftTupleSource leftInput, ObjectSource rightInput, AlphaNodeFieldConstraint[] resultConstraints, BetaConstraints sourceBinder, BetaConstraints resultBinder, Accumulate accumulate, BuildContext context)
-
-
Method Details
-
getObjectTypeForPropertyReactivity
protected ObjectType getObjectTypeForPropertyReactivity(LeftInputAdapterNode leftInput, Pattern pattern) - Overrides:
getObjectTypeForPropertyReactivityin classLeftTupleSource
-
getType
public int getType()- Specified by:
getTypein interfaceNetworkNode- Specified by:
getTypein classLeftTupleSource
-
getAccumulate
-
getResultConstraints
-
getResultBinder
-
createResultFactHandle
public InternalFactHandle createResultFactHandle(PropagationContext context, ReteEvaluator reteEvaluator, TupleImpl leftTuple, Object result) -
doAttach
-
calculateHashCode
protected int calculateHashCode()- Overrides:
calculateHashCodein classBetaNode
-
equals
-
createMemory
Creates a BetaMemory for the BetaNode's memory.- Specified by:
createMemoryin interfaceMemoryFactory- Overrides:
createMemoryin classBetaNode
-
retractRightTuple
public void retractRightTuple(TupleImpl rightTuple, PropagationContext pctx, ReteEvaluator reteEvaluator) -
modifyRightTuple
public void modifyRightTuple(TupleImpl rightTuple, PropagationContext context, ReteEvaluator reteEvaluator) -
doRemove
Description copied from class:BaseNodeRemoves the node from the network. Usually from the parentObjectSourceorTupleSource
-