Package org.kie.api.runtime.rule
Interface AccumulateFunction<C extends Serializable>
-
- All Superinterfaces:
Externalizable
,Serializable
public interface AccumulateFunction<C extends Serializable> extends Externalizable
An interface for accumulate external function implementations
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description void
accumulate(C context, Object value)
Executes the accumulation actiondefault Object
accumulateValue(C context, Object value)
Executes the accumulation action returning the accumulated object that will be passed back to the reverse method when this value will be eventually removed from acccumulation.C
createContext()
Creates and returns a new context objectObject
getResult(C context)
Class<?>
getResultType()
void
init(C context)
Initializes the accumulatordefault C
initContext(C context)
Initializes the accumulator, possibly returning a new accumulation context instead of the original onevoid
reverse(C context, Object value)
Reverses the accumulation actionboolean
supportsReverse()
default boolean
tryReverse(C context, Object value)
Reverses the accumulation action-
Methods inherited from interface java.io.Externalizable
readExternal, writeExternal
-
-
-
-
Method Detail
-
createContext
C createContext()
Creates and returns a new context object- Returns:
- new context object
-
init
void init(C context) throws Exception
Initializes the accumulator- Parameters:
context
- never null- Throws:
Exception
-
initContext
default C initContext(C context)
Initializes the accumulator, possibly returning a new accumulation context instead of the original one- Parameters:
context
-- Returns:
- new context object
-
accumulate
void accumulate(C context, Object value)
Executes the accumulation action- Parameters:
context
- never nullvalue
-
-
accumulateValue
default Object accumulateValue(C context, Object value)
Executes the accumulation action returning the accumulated object that will be passed back to the reverse method when this value will be eventually removed from acccumulation.- Parameters:
context
-value
-- Returns:
- the accumulated object
-
reverse
void reverse(C context, Object value) throws Exception
Reverses the accumulation action- Parameters:
context
- never nullvalue
-- Throws:
Exception
-
getResult
Object getResult(C context) throws Exception
- Returns:
- the current value in this accumulation session
- Throws:
Exception
-
supportsReverse
boolean supportsReverse()
- Returns:
- true if the function supports reverse, otherwise false
-
getResultType
Class<?> getResultType()
- Returns:
- the class type of the result of this function
-
-