Chapter 6. The URLName Class

javax.mail.URLName treats a URL as a string, but does not attempt to connect to or resolve any of the parts of the string. It’s conceptually similar to java.net.URI but predates it by several years.

URL names are mainly used as convenient ways to identify folders and stores with nonstandard URLs (such as pop3://elharo:mypassword@mail.ibiblio.org:110/INBOX) that don’t have a matching protocol handler:

public class URLName Object

The methods of URLName are very similar to those of java.net.URL, except that all those involving actual connections have been deleted. What’s left is a bunch of methods for breaking a URL string into its component parts or building a URL from pieces.

The Constructors

There are three overloaded URLName constructors. One takes the individual pieces of a URL as arguments, another takes a java.net.URL object, and a third takes a String containing a URL:

public URLName(String protocol, String host, int port, String file,
    String userName, String password)
public URLName(URL url)
public URLName(String url)

All the operations on the URLName take place with simple substring manipulation, allowing the URLName class to support nonstandard URLs such as pop3://eharold:password@utopia.poly.edu/INBOX or imap://elharo@ibiblio.org/Speaking/SD2008West. These URLName objects can be used to refer to particular folders on the server.

Parsing Methods

These seven getter methods are the main purpose for this class. They return individual pieces of the URL:

Get JavaMail API now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.