Chapter 5. Addresses

The javax.mail.Address class is very simple. It’s an abstract class that exists mainly to be subclassed by other, protocol-specific address classes:

public abstract class Address extends Object

There are two of these subclasses in the standard JavaMail API: InternetAddress for SMTP email and NewsAddress for Usenet newsgroups:

public class InternetAddress extends Address
public class NewsAddress extends Address

Providers of other mail protocols also subclass Address with classes that represent their style of address.

The Address Class

The Address class itself is extremely simple. It has only three methods, all abstract, two of which are simple utility methods that override the corresponding methods in java.lang.Object:

public abstract String getType()
public abstract String toString()
public abstract boolean equals(Object o)

Since all three of these methods are abstract, there aren’t any guarantees about the methods’ semantics, since all must be overridden in subclasses. However, this does require that subclasses provide their own implementations of equals() and toString() rather than relying on the rather generic implementations available from java.lang.Object (and as always when you override equals() you should override hashCode() too). In general, the getType() method returns a string such as “rfc822” or “news” that indicates the kind of Address object this is.

The InternetAddress Class

An InternetAddress object represents an RFC 822-style email address. This is the ...

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.