Interface ListenersRegistry
Core.getListenersRegistry().registerAfterCommitListener(objs -> { //pre-process entities that were committed });
The callback represents a Consumer
with its argument representing the entities which are subject
to the mentioned action. In this case, it is a List
of @IMendixObject
that were committed. The registration of a callback can be done in a custom Java action.
Once registered the callback in the example will be executed for every commit of any persistable entity in the application.
So, usually entities should be filtered, e.g. by type, to avoid executing the logic inside the callback for any entity that is being
committed in the application and thus reducing performance of the application.
A word of caution: it is not recommended to commit any Persistence Entities in the callbacks passed to
registerAfterCommitListener(Consumer)
or registerBeforeCommitListener(Consumer)
since this will trigger the listeners to be executed again thus leading to an infinite loop.
- Since:
- 7.6
-
Method Summary
Modifier and TypeMethodDescription<T extends CoreAction<?>>
voidaddListener
(ActionListener<T> actionListener) Registers the given ActionListener to the ActionManager.void
Registers an after-change callback.void
registerAfterCommitListener
(Consumer<List<IMendixObject>> action) Registers an after-commit callback.void
Registers an after-create callback.void
registerAfterDeleteListener
(Consumer<List<IMendixObject>> action) Registers an after-delete callback.void
Registers a before-change callback.void
Registers a before-commit callback.void
Registers a before-create callback.void
Registers a before-delete callback.
-
Method Details
-
addListener
Registers the given ActionListener to the ActionManager.- Parameters:
actionListener
- the ActionListener to add.
-
registerAfterCommitListener
Registers an after-commit callback.- Parameters:
action
- aConsumer
.List<IMendixObject>
type parameter is the list of entities which were committed.
-
registerBeforeCommitListener
Registers a before-commit callback.- Parameters:
action
- aConsumer
instance.List<IMendixObject>
type parameter is the list of entities which are to be committed.
-
registerAfterDeleteListener
Registers an after-delete callback.- Parameters:
action
- aConsumer
instance.List<IMendixObject>
type parameter is the list of entities which are deleted.
-
registerBeforeDeleteListener
Registers a before-delete callback.- Parameters:
action
- aConsumer
instance.List<IMendixObject>
type parameter is the list of entities which are to be deleted.
-
registerAfterCreateListener
Registers an after-create callback.- Parameters:
action
- aConsumer
instance.IMendixObject
type parameter is the entity that was created.
-
registerBeforeCreateListener
Registers a before-create callback.- Parameters:
action
- aConsumer
instance.IMendixObject
type parameter is the entity that is to be created. The IMendixObject instance will always be null, because the object is not yet created.
-
registerAfterChangeListener
Registers an after-change callback.- Parameters:
action
- aConsumer
instance.IMendixObject
is the entity that has been changed.
-
registerBeforeChangeListener
Registers a before-change callback.- Parameters:
action
- aConsumer
instance.IMendixObject
is the entity that is being changed.
-