Package com.icegreen.greenmail.imap
Interface ImapSession
-
- All Known Implementing Classes:
ImapSessionImpl
public interface ImapSession
Encapsulates all state held for an ongoing Imap session, which commences when a client first establishes a connection to the Imap server, and continues until that connection is closed.- Version:
- $Revision: 109034 $
- Author:
- Darrell DeBoer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
closeConnection()
Closes the connection for this session.void
closeConnection(java.lang.String byeMessage)
void
deselect()
Moves the session out ofImapSessionState.SELECTED
state and back intoImapSessionState.AUTHENTICATED
state.java.lang.String
getClientHostname()
java.lang.String
getClientIP()
ImapHostManager
getHost()
Provides the Imap host for this server, which is used for all access to mail storage and subscriptions.ImapSessionFolder
getSelected()
Provides the selected mailbox for this session, ornull
if this session is not inImapSessionState.SELECTED
state.java.lang.String
getSessionId()
ImapSessionState
getState()
GreenMailUser
getUser()
Provides the authenticated user for this session, ornull
if this session is not inImapSessionState.AUTHENTICATED
orImapSessionState.SELECTED
state.UserManager
getUserManager()
Provides the UserManager for this session, to allow session to validate logins.void
setAuthenticated(GreenMailUser user)
Moves the session intoImapSessionState.AUTHENTICATED
state with the supplied user.void
setSelected(MailFolder folder, boolean readOnly)
Moves this session intoImapSessionState.SELECTED
state and sets the supplied mailbox to be the currently selected mailbox.void
unsolicitedResponses(ImapResponse response)
Sends any unsolicited responses to the client, such as EXISTS and FLAGS responses when the selected mailbox is modified by another user.void
unsolicitedResponses(ImapResponse request, boolean omitExpunged)
-
-
-
Method Detail
-
unsolicitedResponses
void unsolicitedResponses(ImapResponse response) throws FolderException
Sends any unsolicited responses to the client, such as EXISTS and FLAGS responses when the selected mailbox is modified by another user.- Parameters:
response
- The response to write to- Throws:
FolderException
-
closeConnection
void closeConnection()
Closes the connection for this session.
-
closeConnection
void closeConnection(java.lang.String byeMessage)
-
getHost
ImapHostManager getHost()
Provides the Imap host for this server, which is used for all access to mail storage and subscriptions.- Returns:
- The ImapHost for this server.
-
getUserManager
UserManager getUserManager()
Provides the UserManager for this session, to allow session to validate logins.- Returns:
- The UserManager for this session.
-
getClientHostname
java.lang.String getClientHostname()
- Returns:
- The hostname of the connected client.
-
getClientIP
java.lang.String getClientIP()
- Returns:
- The IP address of the connected client.
-
getState
ImapSessionState getState()
- Returns:
- Returns the current state of this session.
-
setAuthenticated
void setAuthenticated(GreenMailUser user)
Moves the session intoImapSessionState.AUTHENTICATED
state with the supplied user.- Parameters:
user
- The user who is authenticated for this session.
-
getUser
GreenMailUser getUser()
Provides the authenticated user for this session, ornull
if this session is not inImapSessionState.AUTHENTICATED
orImapSessionState.SELECTED
state.- Returns:
- The user authenticated for this session
-
setSelected
void setSelected(MailFolder folder, boolean readOnly)
Moves this session intoImapSessionState.SELECTED
state and sets the supplied mailbox to be the currently selected mailbox.- Parameters:
folder
- The selected mailbox.readOnly
- Iftrue
, the selection is set to be read only.
-
deselect
void deselect()
Moves the session out ofImapSessionState.SELECTED
state and back intoImapSessionState.AUTHENTICATED
state. The selected mailbox is cleared.
-
getSelected
ImapSessionFolder getSelected()
Provides the selected mailbox for this session, ornull
if this session is not inImapSessionState.SELECTED
state.- Returns:
- the currently selected mailbox.
-
unsolicitedResponses
void unsolicitedResponses(ImapResponse request, boolean omitExpunged) throws FolderException
- Throws:
FolderException
-
getSessionId
java.lang.String getSessionId()
-
-