@Override public long removeWithName(String name) throws Exception { try { return queue.remove(Type.Name, name); } catch (MailQueueException e) { throw new Exception(e.getMessage()); } }
@Override public long removeWithRecipient(String address) throws Exception { try { return queue.remove(Type.Recipient, address); } catch (MailQueueException e) { throw new Exception(e.getMessage()); } }
@Override public long removeWithSender(String address) throws Exception { try { return queue.remove(Type.Sender, address); } catch (MailQueueException e) { throw new Exception(e.getMessage()); } }
@Override public Result run() { maybeSender.ifPresent(Throwing.consumer( (MailAddress sender) -> queue.remove(ManageableMailQueue.Type.Sender, sender.asString()))); maybeName.ifPresent(Throwing.consumer( (String name) -> queue.remove(ManageableMailQueue.Type.Name, name))); maybeRecipient.ifPresent(Throwing.consumer( (MailAddress recipient) -> queue.remove(ManageableMailQueue.Type.Recipient, recipient.asString()))); return Result.COMPLETED; }