First, look at the javax.mail.InternetAddress class. The example you're showing is already there.

InternetAddress has several constructors. One takes a single string and throws an exception if it doesn't parse in RFC822 format. There's also a constructor that takes a boolean as the second parameter. If the second parameter is false, the syntax isn't checked. A third form takes two strings: address and personal name. The class also has instance methods setAddress and setPersonal, so you could use new InternetAddress("",false) and then setAddress and setPersonal to work it up. setAddress() does not throw any exceptions. There are several static methods in the class that allow you to parse a mailing list string into an array of InternetAddress objects.

I think this is the normal oo form and the answer to your question is "yes" rather than either/or: provide all the facilities you describe.

-----Original Message-----
From: java400-l-bounces@xxxxxxxxxxxx [mailto:java400-l-bounces@xxxxxxxxxxxx] On Behalf Of Hockchai Lim
Sent: Tuesday, February 21, 2012 3:59 PM
To: java400-l@xxxxxxxxxxxx
Subject: basic oo question

Assuming that I've a simply emailAddresss class that looks like below

public class EmailAddress {

private String value = "";

public EmailAddress( String newValue )
setValue( newValue );
}
. . .
}


Assuming that I now need to be able valid the emailAddress to make sure the value contains a valid email address. In OO, what is the normal way to handle this:
-> do I change the constructor to now throws an exception when newValue
-> is
not in valid email address format.
or
-> do I add a public method in this class that can be executed to
-> determine
if value contains valid email address after the EmailAddress object is created.
or
-> Do I create a new validation class that validate the EmailAddress

thanks



As an Amazon Associate we earn from qualifying purchases.

This thread ...

Replies:

Follow On AppleNews
Return to Archive home page | Return to MIDRANGE.COM home page

This mailing list archive is Copyright 1997-2022 by midrange.com and David Gibbs as a compilation work. Use of the archive is restricted to research of a business or technical nature. Any other uses are prohibited. Full details are available on our policy page. If you have questions about this, please contact [javascript protected email address].

Operating expenses for this site are earned using the Amazon Associate program and Google Adsense.