public class

POP3Store

extends Store
java.lang.Object
   ↳ com.google.code.javax.mail.Service
     ↳ com.google.code.javax.mail.Store
       ↳ com.google.code.com.sun.mail.pop3.POP3Store
Known Direct Subclasses

Class Overview

A POP3 Message Store. Contains only one folder, "INBOX". See the com.sun.mail.pop3 package documentation for further information on the POP3 protocol provider.

Summary

Fields
boolean cacheWriteTo
private Map capabilities
private int defaultPort
boolean disableTop
File fileCacheDir
boolean forgetTopHeaders
private String host
private boolean isSSL
boolean keepMessageContent
Constructor messageConstructor
private String name
private PrintStream out
private String passwd
private Protocol port
private int portNum
private POP3Folder portOwner
private boolean requireStartTLS
boolean rsetBeforeQuit
boolean supportsUidl
boolean useFileCache
private boolean useStartTLS
private String user
[Expand]
Inherited Fields
From class com.google.code.javax.mail.Store
From class com.google.code.javax.mail.Service
Public Constructors
POP3Store(Session session, URLName url)
POP3Store(Session session, URLName url, String name, boolean isSSL)
Public Methods
Map capabilities()
Return a Map of the capabilities the server provided, as per RFC 2449.
synchronized void close()
Close this service and terminate its connection.
Folder getDefaultFolder()
Returns a GmailFolder object that represents the 'root' of the default namespace presented to the user by the Store.
Folder getFolder(URLName url)
Return a closed GmailFolder object, corresponding to the given URLName.
Folder getFolder(String name)
Only the name "INBOX" is supported.
synchronized boolean isConnected()
Check whether this store is connected.
Protected Methods
void finalize()
Stop the event dispatcher thread so the queue can be garbage collected.
synchronized boolean protocolConnect(String host, int portNum, String user, String passwd)
The service implementation should override this method to perform the actual protocol-specific connection attempt.
[Expand]
Inherited Methods
From class com.google.code.javax.mail.Store
From class com.google.code.javax.mail.Service
From class java.lang.Object

Fields

boolean cacheWriteTo

private Map capabilities

private int defaultPort

boolean disableTop

File fileCacheDir

boolean forgetTopHeaders

private String host

private boolean isSSL

boolean keepMessageContent

Constructor messageConstructor

private String name

private PrintStream out

private String passwd

private Protocol port

private int portNum

private POP3Folder portOwner

private boolean requireStartTLS

boolean rsetBeforeQuit

boolean supportsUidl

boolean useFileCache

private boolean useStartTLS

private String user

Public Constructors

public POP3Store (Session session, URLName url)

Parameters
session
url

public POP3Store (Session session, URLName url, String name, boolean isSSL)

Parameters
session
url
name
isSSL

Public Methods

public Map capabilities ()

Return a Map of the capabilities the server provided, as per RFC 2449. If the server doesn't support RFC 2449, an emtpy Map is returned. The returned Map can not be modified. The key to the Map is the upper case capability name as a String. The value of the entry is the entire String capability line returned by the server.

For example, to check if the server supports the STLS capability, use: if (store.capabilities().containsKey("STLS")) ...

Returns
  • Map of capabilities

public synchronized void close ()

Close this service and terminate its connection. A close ConnectionEvent is delivered to any ConnectionListeners. Any Messaging components (Folders, Messages, etc.) belonging to this service are invalid after this service is closed. Note that the service is closed even if this method terminates abnormally by throwing a MessagingException.

This implementation uses setConnected(false) to set this service's connected state to false. It will then send a close ConnectionEvent to any registered ConnectionListeners. Subclasses overriding this method to do implementation specific cleanup should call this method as a last step to insure event notification, probably by including a call to super.close() in a finally clause.

public Folder getDefaultFolder ()

Returns a GmailFolder object that represents the 'root' of the default namespace presented to the user by the Store.

Returns
  • the root GmailFolder

public Folder getFolder (URLName url)

Return a closed GmailFolder object, corresponding to the given URLName. The store specified in the given URLName should refer to this Store object.

Implementations of this method may obtain the name of the actual folder using the getFile() method on URLName, and use that name to create the folder.

Parameters
url URLName that denotes a folder
Returns
  • GmailFolder object

public Folder getFolder (String name)

Only the name "INBOX" is supported.

Parameters
name The name of the GmailFolder. In some Stores, name can be an absolute path if it starts with the hierarchy delimiter. Else it is interpreted relative to the 'root' of this namespace.
Returns
  • GmailFolder object

public synchronized boolean isConnected ()

Check whether this store is connected. Override superclass method, to actually ping our server connection.

Returns
  • true if the service is connected, false if it is not connected

Protected Methods

protected void finalize ()

Stop the event dispatcher thread so the queue can be garbage collected.

Throws
Throwable

protected synchronized boolean protocolConnect (String host, int portNum, String user, String passwd)

The service implementation should override this method to perform the actual protocol-specific connection attempt. The default implementation of the connect method calls this method as needed.

The protocolConnect method should return false if a user name or password is required for authentication but the corresponding parameter is null; the connect method will prompt the user when needed to supply missing information. This method may also return false if authentication fails for the supplied user name or password. Alternatively, this method may throw an AuthenticationFailedException when authentication fails. This exception may include a String message with more detail about the failure.

The protocolConnect method should throw an exception to report failures not related to authentication, such as an invalid host name or port number, loss of a connection during the authentication process, unavailability of the server, etc.

Parameters
host The name of the host to connect to
portNum The port to use (-1 means use default port)
user The name of the user to login as
passwd The user's password
Returns
  • true if connection successful, false if authentication failed