Java Reference
In-Depth Information
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 re‐
quire that subclasses provide their own implementations of
equals()
and
to
String()
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.