Package org.drools.core.spi
Interface Accumulator
-
- All Superinterfaces:
Invoker
,RuleComponent
- All Known Subinterfaces:
MvelAccumulator
- All Known Implementing Classes:
Accumulator.SafeAccumulator
,CollectAccumulator
,JavaAccumulatorFunctionExecutor
public interface Accumulator extends Invoker
Accumulator Created: 04/06/2006- Version:
- $Id$
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
Accumulator.SafeAccumulator
This class is used as a wrapper delegate when a security policy is in place.
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Modifier and Type Method Description Object
accumulate(Object workingMemoryContext, Object context, Tuple leftTuple, InternalFactHandle handle, Declaration[] declarations, Declaration[] innerDeclarations, WorkingMemory workingMemory)
Executes the accumulate (action) code for the given fact handleObject
createContext()
Creates the context object for an accumulator session.Object
createWorkingMemoryContext()
Creates and return a context object for each working memory instanceObject
getResult(Object workingMemoryContext, Object context, Tuple leftTuple, Declaration[] declarations, WorkingMemory workingMemory)
Gets the result of the accummulationObject
init(Object workingMemoryContext, Object context, Tuple leftTuple, Declaration[] declarations, WorkingMemory workingMemory)
Executes the initialization block of codestatic boolean
isCompiledInvoker(Accumulator accumulator)
boolean
supportsReverse()
Returns true if this accumulator supports operation reversalboolean
tryReverse(Object workingMemoryContext, Object context, Tuple leftTuple, InternalFactHandle handle, Object value, Declaration[] declarations, Declaration[] innerDeclarations, WorkingMemory workingMemory)
Reverses the accumulate action for the given fact handle
-
-
-
Method Detail
-
createWorkingMemoryContext
Object createWorkingMemoryContext()
Creates and return a context object for each working memory instance- Returns:
-
createContext
Object createContext()
Creates the context object for an accumulator session. The context is passed as a parameter to every subsequent accumulator method call in the same session.- Returns:
-
init
Object init(Object workingMemoryContext, Object context, Tuple leftTuple, Declaration[] declarations, WorkingMemory workingMemory)
Executes the initialization block of code- Parameters:
leftTuple
- tuple causing the rule firedeclarations
- previous declarationsworkingMemory
-- Throws:
Exception
-
accumulate
Object accumulate(Object workingMemoryContext, Object context, Tuple leftTuple, InternalFactHandle handle, Declaration[] declarations, Declaration[] innerDeclarations, WorkingMemory workingMemory)
Executes the accumulate (action) code for the given fact handle- Parameters:
leftTuple
-handle
-declarations
-innerDeclarations
-workingMemory
-- Throws:
Exception
-
supportsReverse
boolean supportsReverse()
Returns true if this accumulator supports operation reversal- Returns:
-
tryReverse
boolean tryReverse(Object workingMemoryContext, Object context, Tuple leftTuple, InternalFactHandle handle, Object value, Declaration[] declarations, Declaration[] innerDeclarations, WorkingMemory workingMemory)
Reverses the accumulate action for the given fact handle- Parameters:
context
-leftTuple
-handle
-declarations
-innerDeclarations
-workingMemory
-- Throws:
Exception
-
getResult
Object getResult(Object workingMemoryContext, Object context, Tuple leftTuple, Declaration[] declarations, WorkingMemory workingMemory)
Gets the result of the accummulation- Parameters:
leftTuple
-declarations
-workingMemory
-- Returns:
- Throws:
Exception
-
isCompiledInvoker
static boolean isCompiledInvoker(Accumulator accumulator)
-
-