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]

Reply via email to