Package org.drools.core.rule
Class SingleAccumulate
- java.lang.Object
-
- org.drools.core.rule.ConditionalElement
-
- org.drools.core.rule.Accumulate
-
- org.drools.core.rule.SingleAccumulate
-
- All Implemented Interfaces:
Externalizable,Serializable,Cloneable,PatternSource,RuleConditionElement,RuleComponent
public class SingleAccumulate extends Accumulate
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classSingleAccumulate.Wirer
-
Field Summary
-
Fields inherited from class org.drools.core.rule.Accumulate
cloned, innerDeclarationCache, requiredDeclarations, source
-
-
Constructor Summary
Constructors Constructor Description SingleAccumulate()SingleAccumulate(RuleConditionElement source, Declaration[] requiredDeclarations)SingleAccumulate(RuleConditionElement source, Declaration[] requiredDeclarations, Accumulator accumulator)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Objectaccumulate(Object workingMemoryContext, Object context, Tuple match, InternalFactHandle handle, ReteEvaluator reteEvaluator)Executes the accumulate (action) code for the given fact handleObjectaccumulate(Object workingMemoryContext, Tuple match, InternalFactHandle childHandle, AccumulateNode.GroupByContext groupByContext, TupleList<AccumulateNode.AccumulateContextEntry> tupleList, ReteEvaluator reteEvaluator)SingleAccumulateclone()Returns a clone from itselfObjectcreateFunctionContext()ObjectcreateWorkingMemoryContext()booleanequals(Object obj)Accumulator[]getAccumulators()ObjectgetResult(Object workingMemoryContext, Object context, Tuple leftTuple, ReteEvaluator reteEvaluator)Gets the result of the accumulationinthashCode()Objectinit(Object workingMemoryContext, Object accContext, Object funcContext, Tuple leftTuple, ReteEvaluator reteEvaluator)Executes the initialization block of codebooleanisMultiFunction()voidreadExternal(ObjectInput in)voidreplaceAccumulatorDeclaration(Declaration declaration, Declaration resolved)booleansupportsReverse()Returns true if this accumulate supports reversebooleantryReverse(Object workingMemoryContext, Object context, Tuple leftTuple, InternalFactHandle handle, RightTuple rightParent, LeftTuple match, ReteEvaluator reteEvaluator)Executes the reverse (action) code for the given fact handlevoidwriteExternal(ObjectOutput out)-
Methods inherited from class org.drools.core.rule.Accumulate
getInnerDeclarationCache, getInnerDeclarations, getNestedElements, getOuterDeclarations, getRequiredDeclarations, getSource, hasRequiredDeclarations, isGroupBy, isPatternScopeDelimiter, registerClone, replaceDeclaration, requiresLeftActivation, resolveDeclaration
-
-
-
-
Constructor Detail
-
SingleAccumulate
public SingleAccumulate()
-
SingleAccumulate
public SingleAccumulate(RuleConditionElement source, Declaration[] requiredDeclarations)
-
SingleAccumulate
public SingleAccumulate(RuleConditionElement source, Declaration[] requiredDeclarations, Accumulator accumulator)
-
-
Method Detail
-
readExternal
public void readExternal(ObjectInput in) throws IOException, ClassNotFoundException
- Specified by:
readExternalin interfaceExternalizable- Overrides:
readExternalin classAccumulate- Throws:
IOExceptionClassNotFoundException
-
writeExternal
public void writeExternal(ObjectOutput out) throws IOException
- Specified by:
writeExternalin interfaceExternalizable- Overrides:
writeExternalin classAccumulate- Throws:
IOException
-
isMultiFunction
public boolean isMultiFunction()
- Specified by:
isMultiFunctionin classAccumulate
-
getAccumulators
public Accumulator[] getAccumulators()
- Specified by:
getAccumulatorsin classAccumulate
-
createFunctionContext
public Object createFunctionContext()
- Specified by:
createFunctionContextin classAccumulate
-
init
public Object init(Object workingMemoryContext, Object accContext, Object funcContext, Tuple leftTuple, ReteEvaluator reteEvaluator)
Description copied from class:AccumulateExecutes the initialization block of code- Specified by:
initin classAccumulate
-
accumulate
public Object accumulate(Object workingMemoryContext, Object context, Tuple match, InternalFactHandle handle, ReteEvaluator reteEvaluator)
Description copied from class:AccumulateExecutes the accumulate (action) code for the given fact handle- Specified by:
accumulatein classAccumulate
-
accumulate
public Object accumulate(Object workingMemoryContext, Tuple match, InternalFactHandle childHandle, AccumulateNode.GroupByContext groupByContext, TupleList<AccumulateNode.AccumulateContextEntry> tupleList, ReteEvaluator reteEvaluator)
- Specified by:
accumulatein classAccumulate
-
tryReverse
public boolean tryReverse(Object workingMemoryContext, Object context, Tuple leftTuple, InternalFactHandle handle, RightTuple rightParent, LeftTuple match, ReteEvaluator reteEvaluator)
Description copied from class:AccumulateExecutes the reverse (action) code for the given fact handle- Specified by:
tryReversein classAccumulate
-
supportsReverse
public boolean supportsReverse()
Description copied from class:AccumulateReturns true if this accumulate supports reverse- Specified by:
supportsReversein classAccumulate
-
getResult
public Object getResult(Object workingMemoryContext, Object context, Tuple leftTuple, ReteEvaluator reteEvaluator)
Description copied from class:AccumulateGets the result of the accumulation- Specified by:
getResultin classAccumulate
-
clone
public SingleAccumulate clone()
Description copied from interface:RuleConditionElementReturns a clone from itself- Specified by:
clonein interfaceRuleConditionElement- Specified by:
clonein classAccumulate- Returns:
-
replaceAccumulatorDeclaration
public void replaceAccumulatorDeclaration(Declaration declaration, Declaration resolved)
- Specified by:
replaceAccumulatorDeclarationin classAccumulate
-
createWorkingMemoryContext
public Object createWorkingMemoryContext()
- Specified by:
createWorkingMemoryContextin classAccumulate
-
-