public abstract class AbstractMailboxProcessor<M extends ImapRequest> extends AbstractChainedProcessor<M>
ImapProcessor.Responder
Constructor and Description |
---|
AbstractMailboxProcessor(Class<M> acceptableClass,
ImapProcessor next,
org.apache.james.mailbox.MailboxManager mailboxManager,
StatusResponseFactory factory) |
Modifier and Type | Method and Description |
---|---|
protected void |
addFlagsResponses(ImapSession session,
SelectedMailbox selected,
ImapProcessor.Responder responder,
boolean useUid,
org.apache.james.mailbox.model.MessageRange messageSet,
org.apache.james.mailbox.MessageManager mailbox,
org.apache.james.mailbox.MailboxSession mailboxSession) |
org.apache.james.mailbox.model.MailboxPath |
buildFullPath(ImapSession session,
String mailboxName) |
protected void |
bye(ImapProcessor.Responder responder) |
protected void |
bye(ImapProcessor.Responder responder,
HumanReadableText key) |
protected void |
condstoreEnablingCommand(ImapSession session,
ImapProcessor.Responder responder,
org.apache.james.mailbox.MessageManager.MetaData metaData,
boolean sendHighestModSeq) |
protected void |
doProcess(M acceptableMessage,
ImapProcessor.Responder responder,
ImapSession session)
Processes an acceptable message.
|
protected abstract void |
doProcess(M message,
ImapSession session,
String tag,
ImapCommand command,
ImapProcessor.Responder responder) |
protected void |
flags(ImapProcessor.Responder responder,
SelectedMailbox selected) |
protected org.apache.james.mailbox.MailboxManager |
getMailboxManager() |
protected org.apache.james.mailbox.MessageManager |
getSelectedMailbox(ImapSession session) |
protected StatusResponseFactory |
getStatusResponseFactory() |
protected IdRange[] |
idRanges(Collection<org.apache.james.mailbox.model.MessageRange> mRanges) |
protected String |
mailboxName(boolean relative,
org.apache.james.mailbox.model.MailboxPath path,
char delimiter) |
protected org.apache.james.mailbox.model.MessageRange |
messageRange(SelectedMailbox selected,
IdRange range,
boolean useUids)
Return a
MessageRange for the given values. |
protected void |
no(ImapCommand command,
String tag,
ImapProcessor.Responder responder,
HumanReadableText displayTextKey) |
protected void |
no(ImapCommand command,
String tag,
ImapProcessor.Responder responder,
HumanReadableText displayTextKey,
StatusResponse.ResponseCode responseCode) |
protected org.apache.james.mailbox.model.MessageRange |
normalizeMessageRange(SelectedMailbox selected,
org.apache.james.mailbox.model.MessageRange range)
Format MessageRange to RANGE format applying selected folder min & max
UIDs constraints
|
protected void |
okComplete(ImapCommand command,
String tag,
ImapProcessor.Responder responder) |
protected void |
okComplete(ImapCommand command,
String tag,
StatusResponse.ResponseCode code,
ImapProcessor.Responder responder) |
protected void |
permanentFlags(ImapProcessor.Responder responder,
org.apache.james.mailbox.MessageManager.MetaData metaData,
SelectedMailbox selected) |
protected void |
process(M message,
ImapProcessor.Responder responder,
ImapSession session) |
protected void |
respondVanished(org.apache.james.mailbox.MailboxSession session,
org.apache.james.mailbox.MessageManager mailbox,
List<org.apache.james.mailbox.model.MessageRange> ranges,
long changedSince,
org.apache.james.mailbox.MessageManager.MetaData metaData,
ImapProcessor.Responder responder)
Send VANISHED responses if needed.
|
protected void |
taggedBad(ImapCommand command,
String tag,
ImapProcessor.Responder responder,
HumanReadableText e) |
protected void |
unsolicitedResponses(ImapSession session,
ImapProcessor.Responder responder,
boolean useUids) |
protected void |
unsolicitedResponses(ImapSession session,
ImapProcessor.Responder responder,
boolean omitExpunged,
boolean useUid)
Sends any unsolicited responses to the client, such as EXISTS and FLAGS
responses when the selected mailbox is modified by another user.
|
isAcceptable, process
public AbstractMailboxProcessor(Class<M> acceptableClass, ImapProcessor next, org.apache.james.mailbox.MailboxManager mailboxManager, StatusResponseFactory factory)
protected final void doProcess(M acceptableMessage, ImapProcessor.Responder responder, ImapSession session)
AbstractChainedProcessor
AbstractChainedProcessor.isAcceptable(ImapMessage)
should be passed to this method.doProcess
in class AbstractChainedProcessor<M extends ImapRequest>
acceptableMessage
- M
, not nullresponder
- Responder
, not nullsession
- ImapSession
, not nullprotected final void process(M message, ImapProcessor.Responder responder, ImapSession session)
protected void flags(ImapProcessor.Responder responder, SelectedMailbox selected)
protected void permanentFlags(ImapProcessor.Responder responder, org.apache.james.mailbox.MessageManager.MetaData metaData, SelectedMailbox selected)
protected void unsolicitedResponses(ImapSession session, ImapProcessor.Responder responder, boolean useUids)
protected void unsolicitedResponses(ImapSession session, ImapProcessor.Responder responder, boolean omitExpunged, boolean useUid)
protected void addFlagsResponses(ImapSession session, SelectedMailbox selected, ImapProcessor.Responder responder, boolean useUid, org.apache.james.mailbox.model.MessageRange messageSet, org.apache.james.mailbox.MessageManager mailbox, org.apache.james.mailbox.MailboxSession mailboxSession) throws org.apache.james.mailbox.exception.MailboxException
org.apache.james.mailbox.exception.MailboxException
protected void condstoreEnablingCommand(ImapSession session, ImapProcessor.Responder responder, org.apache.james.mailbox.MessageManager.MetaData metaData, boolean sendHighestModSeq)
protected void okComplete(ImapCommand command, String tag, ImapProcessor.Responder responder)
protected void okComplete(ImapCommand command, String tag, StatusResponse.ResponseCode code, ImapProcessor.Responder responder)
protected void no(ImapCommand command, String tag, ImapProcessor.Responder responder, HumanReadableText displayTextKey)
protected void no(ImapCommand command, String tag, ImapProcessor.Responder responder, HumanReadableText displayTextKey, StatusResponse.ResponseCode responseCode)
protected void taggedBad(ImapCommand command, String tag, ImapProcessor.Responder responder, HumanReadableText e)
protected void bye(ImapProcessor.Responder responder)
protected void bye(ImapProcessor.Responder responder, HumanReadableText key)
protected abstract void doProcess(M message, ImapSession session, String tag, ImapCommand command, ImapProcessor.Responder responder)
public org.apache.james.mailbox.model.MailboxPath buildFullPath(ImapSession session, String mailboxName)
protected String mailboxName(boolean relative, org.apache.james.mailbox.model.MailboxPath path, char delimiter)
protected org.apache.james.mailbox.MailboxManager getMailboxManager()
protected StatusResponseFactory getStatusResponseFactory()
protected org.apache.james.mailbox.MessageManager getSelectedMailbox(ImapSession session) throws org.apache.james.mailbox.exception.MailboxException
org.apache.james.mailbox.exception.MailboxException
protected org.apache.james.mailbox.model.MessageRange messageRange(SelectedMailbox selected, IdRange range, boolean useUids) throws org.apache.james.mailbox.exception.MessageRangeException
MessageRange
for the given values. If the MessageRange
can not be generated a MailboxException
will get thrownselected
- range
- useUids
- org.apache.james.mailbox.exception.MailboxException
org.apache.james.mailbox.exception.MessageRangeException
protected org.apache.james.mailbox.model.MessageRange normalizeMessageRange(SelectedMailbox selected, org.apache.james.mailbox.model.MessageRange range) throws org.apache.james.mailbox.exception.MessageRangeException
selected
- currently selected mailboxrange
- input rangeorg.apache.james.mailbox.exception.MessageRangeException
protected void respondVanished(org.apache.james.mailbox.MailboxSession session, org.apache.james.mailbox.MessageManager mailbox, List<org.apache.james.mailbox.model.MessageRange> ranges, long changedSince, org.apache.james.mailbox.MessageManager.MetaData metaData, ImapProcessor.Responder responder) throws org.apache.james.mailbox.exception.MailboxException
session
- mailbox
- ranges
- changedSince
- metaData
- responder
- org.apache.james.mailbox.exception.MailboxException
protected IdRange[] idRanges(Collection<org.apache.james.mailbox.model.MessageRange> mRanges)
Copyright © 2010-2012 The Apache Software Foundation. All Rights Reserved.