## com.sun.mail.pop3
Class POP3Store

    java.lang.Object
      javax.mail.Service
          javax.mail.Store
              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`