RemoveAction
- действие с идентификатором remove. Предназначено для удаления выбранного экземпляра сущности.
В классе RemoveAction
определены следующие специфические методы:
-
setAutocommit()
- позволяет управлять моментом удаления сущности из базы данных. По умолчанию после срабатывания действия и удаления сущности из источника данных у источника вызывается методcommit()
, в результате чего сущность удаляется из базы данных. Cвойствоautocommit
можно установить вfalse
либо методомsetAutocommit()
, либо соответствующим параметром конструктора. В результате после удаления сущности из источника данных для подтверждения удаления потребуется явно вызвать методcommit()
источника данных.Значение
autocommit
не влияет на работу источников данных в режимеDatasource.CommitMode.PARENT
, то есть тех, которые обеспечивают редактирование композиционных сущностей. -
setConfirmationMessage()
- позволяет задать текст сообщения в диалоге подтверждения удаления. -
setConfirmationTitle()
- позволяет задать заголовок диалога подтверждения удаления. -
afterRemove()
- вызывается действием после успешного удаления сущности. Данный метод не имеет реализации и может быть переопределен в наследниках для реакции на это событие. -
setAfterRemoveHandler()
позволяет задать обработчик, который будет вызван после успешного удаления сущности. Данный обработчик можно использовать вместо переопределения методаafterWindowClosed()
, тем самым избавившись от необходимости создания наследника действия. Например:@Named("customersTable.remove") private RemoveAction customersTableRemove; @Override public void init(Map<String, Object> params) { customersTableRemove.setAfterRemoveHandler(new RemoveAction.AfterRemoveHandler() { @Override public void handle(Set removedItems) { showNotification("Removed", NotificationType.HUMANIZED); } }); }