A container for blackboard add/change/remove
EnvelopeTuple s of a single transaction.
An envelope is not synchronized; it is privately held by a
subscriber and passes through the distributor in a thread-safe
manner.
Several types of transaction operations are supported:
ADD add an object to the set.
REMOVE remove an object from the set.
CHANGE mark the object as changed in the set.
BULK like ADD of a set of Objects, with the
slightly different functional semantics.
In particular, since these are only emitted
Blackboard on initialization of subscriptions,
and by PersistenceSubscribers on Blackboard
rehydration, LogicProviders function differently
on BULKs than ADDs, for instance, business rules
which fire on new Blackboard elements and produce
other Blackboard elements will not fire on BULKs
because the BULK delta should already include
those* products.
|