Takes the inputs and accumulates.
Takes the inputs and accumulates. e.g. it can be a simple +=
for counter accumulator.
Creates a new copy of this accumulator.
Creates a new copy of this accumulator.
Creates a new copy of this accumulator, which is zero value.
Creates a new copy of this accumulator, which is zero value. i.e. call isZero
on the copy
must return true.
Returns the id of this accumulator, can only be called after registration.
Returns the id of this accumulator, can only be called after registration.
Returns true if this accumulator has been registered.
Returns true if this accumulator has been registered. Note that all accumulators must be registered before use, or it will throw exception.
Returns if this accumulator is zero value or not.
Returns if this accumulator is zero value or not. e.g. for a counter accumulator, 0 is zero value; for a list accumulator, Nil is zero value.
Merges another same-type accumulator into this one and update its state, i.e.
Merges another same-type accumulator into this one and update its state, i.e. this should be merge-in-place.
Returns the name of this accumulator, can only be called after registration.
Returns the name of this accumulator, can only be called after registration.
Resets this accumulator, which is zero value.
Resets this accumulator, which is zero value. i.e. call isZero
must
return true.
Defines the current value of this accumulator
Defines the current value of this accumulator