Trần Tiến Đức created MAILBOX-379:
-------------------------------------
Summary: PreDeletionHooks - design + plug
Key: MAILBOX-379
URL: https://issues.apache.org/jira/browse/MAILBOX-379
Project: James Mailbox
Issue Type: Bug
Reporter: Trần Tiến Đức
PreDeletionHook is an *extension endpoint* that is run before a deletion
actually happens. It can thus read data that will be deleted and save it for
later processing.
- First create a `DeletionId` - unique identifier for a deletion operation.
This Id allows correlating PreDeletionHooks with MailboxListener.
- Define the PredeletionHook API
```
interface PreDeletionHook {
Publisher<Void> notifyDelete(DeletionOparation);
}
class DeletionOperation {
private final DeletionId;
private final List<MetadataWithMailboxId>
}
```
- Inject a `Set<PreDeletionHook>` in the `StoreMessageManager` &
`StoreMessageIdManager`
- Call PreDeletionHooks before 'delete' operation. You will add unit tests in
`MailboxManagerTest` & `MessageIdManagerTest` about this.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]