com.sun.mail.pop3
Class POP3Store

java.lang.Object
  extended by javax.mail.Service
      extended by javax.mail.Store
          extended by com.sun.mail.pop3.POP3Store
Direct Known Subclasses:
POP3SSLStore

public class POP3Store
extends Store

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.


Field Summary
 
Fields inherited from class javax.mail.Service
debug, session, url
 
Constructor Summary
POP3Store(Session session, URLName url)
           
POP3Store(Session session, URLName url, java.lang.String name, int defaultPort, boolean isSSL)
           
 
Method Summary
 void close()
          Close this service and terminate its connection.
protected  void finalize()
          Stop the event dispatcher thread so the queue can be garbage collected.
 Folder getDefaultFolder()
          Returns a Folder object that represents the 'root' of the default namespace presented to the user by the Store.
 Folder getFolder(java.lang.String name)
          Only the name "INBOX" is supported.
 Folder getFolder(URLName url)
          Return a closed Folder object, corresponding to the given URLName.
 boolean isConnected()
          Check whether this store is connected.
protected  boolean protocolConnect(java.lang.String host, int portNum, java.lang.String user, java.lang.String passwd)
          The service implementation should override this method to perform the actual protocol-specific connection attempt.
 
Methods inherited from class javax.mail.Store
addFolderListener, addStoreListener, getPersonalNamespaces, getSharedNamespaces, getUserNamespaces, notifyFolderListeners, notifyFolderRenamedListeners, notifyStoreListeners, removeFolderListener, removeStoreListener
 
Methods inherited from class javax.mail.Service
addConnectionListener, connect, connect, connect, connect, getURLName, notifyConnectionListeners, queueEvent, removeConnectionListener, setConnected, setURLName, toString
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

POP3Store

public POP3Store(Session session,
                 URLName url)

POP3Store

public POP3Store(Session session,
                 URLName url,
                 java.lang.String name,
                 int defaultPort,
                 boolean isSSL)
Method Detail

protocolConnect

protected boolean protocolConnect(java.lang.String host,
                                  int portNum,
                                  java.lang.String user,
                                  java.lang.String passwd)
                           throws MessagingException
Description copied from class: Service
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.

Overrides:
protocolConnect in class Service
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
Throws:
AuthenticationFailedException - for authentication failures
MessagingException - for non-authentication failures

isConnected

public boolean isConnected()
Check whether this store is connected. Override superclass method, to actually ping our server connection.

Overrides:
isConnected in class Service
Returns:
true if the service is connected, false if it is not connected

close

public void close()
           throws MessagingException
Description copied from class: Service
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.

Overrides:
close in class Service
Throws:
MessagingException - for errors while closing
See Also:
ConnectionEvent

getDefaultFolder

public Folder getDefaultFolder()
                        throws MessagingException
Description copied from class: Store
Returns a Folder object that represents the 'root' of the default namespace presented to the user by the Store.

Specified by:
getDefaultFolder in class Store
Returns:
the root Folder
Throws:
MessagingException

getFolder

public Folder getFolder(java.lang.String name)
                 throws MessagingException
Only the name "INBOX" is supported.

Specified by:
getFolder in class Store
Parameters:
name - The name of the Folder. 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:
Folder object
Throws:
MessagingException
See Also:
Folder.exists(), Folder.create(int)

getFolder

public Folder getFolder(URLName url)
                 throws MessagingException
Description copied from class: Store
Return a closed Folder 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.

Specified by:
getFolder in class Store
Parameters:
url - URLName that denotes a folder
Returns:
Folder object
Throws:
MessagingException
See Also:
URLName

finalize

protected void finalize()
                 throws java.lang.Throwable
Description copied from class: Service
Stop the event dispatcher thread so the queue can be garbage collected.

Overrides:
finalize in class Service
Throws:
java.lang.Throwable