001: /***
002: * jwma Java WebMail
003: * Copyright (c) 2000-2003 jwma team
004: *
005: * jwma is free software; you can distribute and use this source
006: * under the terms of the BSD-style license received along with
007: * the distribution.
008: ***/package dtw.webmail.model;
009:
010: import java.util.Date;
011:
012: import dtw.webmail.JwmaSession;
013:
014: /**
015: * Interface for <tt>JwmaContact</tt> implementations.
016: * This is the interface any specialized implementation
017: * has to expose internal to controllers and models.
018: *
019: * @author Dieter Wimberger
020: * @version 0.9.7 07/02/2003
021: */
022: public interface JwmaContactImpl extends JwmaContact {
023:
024: /**
025: * Set the the category of this <tt>JwmaContactImpl</tt>.
026: *
027: * @param category of this contact as <tt>String</tt>.
028: */
029: public void setCategory(String category);
030:
031: /**
032: * Sets the nickname of this <tt>JwmaContactImpl</tt>.
033: *
034: * @param nickname of this contact as <tt>String</tt>.
035: */
036: public void setNickname(String nickname);
037:
038: /**
039: * Sets the firstname of this <tt>JwmaContactImpl</tt>.
040: *
041: * @param firstname of this contact as <tt>String</tt>.
042: */
043: public void setFirstname(String firstname);
044:
045: /**
046: * Sets the lastname of this <tt>JwmaContactImpl</tt>.
047: *
048: * @param lastname of this contact as <tt>String</tt>.
049: */
050: public void setLastname(String lastname);
051:
052: /**
053: * Sets the middlename of this <tt>JwmaContactImpl</tt>.
054: *
055: * @param middlename of this contact as <tt>String</tt>.
056: */
057: public void setMiddlename(String middlename);
058:
059: /**
060: * Sets the company name of this <tt>JwmaContactImpl</tt>.
061: *
062: * @param company of this contact as <tt>String</tt>.
063: */
064: public void setCompany(String company);
065:
066: /**
067: * Sets the title of this <tt>JwmaContactImpl</tt>.
068: *
069: * @param title of this contact as <tt>String</tt>.
070: */
071: public void setTitle(String title);
072:
073: /**
074: * Sets the organizational role of this <tt>JwmaContactImpl</tt>.
075: *
076: * @return role the organizational role of this contact as <tt>String</tt>.
077: */
078: public void setRole(String role);
079:
080: /**
081: * Sets the home phone number of this <tt>JwmaContactImpl</tt>.
082: *
083: * @param number the home phone number of this contact as
084: * <tt>String</tt>.
085: *
086: * @throws <tt>JwmaException</tt> if the number is an invalid format.
087: */
088: public void setHomePhoneNumber(String number) throws JwmaException;
089:
090: /**
091: * Sets the work phone number of this <tt>JwmaContactImpl</tt>.
092: *
093: * @param number the work phone number of this contact as <tt>String</tt>.
094: *
095: * @throws <tt>JwmaException</tt> if the number is an invalid format.
096: */
097: public void setWorkPhoneNumber(String number) throws JwmaException;
098:
099: /**
100: * Sets the pager number of this <tt>JwmaContactImpl</tt>.
101: *
102: * @param number the pager number of this contact as <tt>String</tt>.
103: *
104: * @throws <tt>JwmaException</tt> if the number is an invalid format.
105: */
106: public void setPagerNumber(String number) throws JwmaException;
107:
108: /**
109: * Sets the fax number of this <tt>JwmaContactImpl</tt>.
110: *
111: * @param number the fax number of this contact as String.
112: *
113: * @throws <tt>JwmaException</tt> if the number is an invalid format.
114: */
115: public void setFaxNumber(String number) throws JwmaException;
116:
117: /**
118: * Sets the mobile phone number of this <tt>JwmaContactImpl</tt>.
119: *
120: * @param number the mobile phone number of this contact as <tt>String</tt>.
121: *
122: * @throws <tt>JwmaException</tt> if the number is an invalid format.
123: */
124: public void setMobileNumber(String number) throws JwmaException;
125:
126: /**
127: * Sets if this <tt>JwmaContactImpl</tt> is primarily a work
128: * contact.
129: *
130: * @param b true if primarily work contact, false otherwise.
131: */
132: public void setPrimarilyWorkContact(boolean b);
133:
134: /**
135: * Sets the street name of this <tt>JwmaContactImpl</tt> at work.
136: *
137: * @param street the street of this contact at work as String.
138: */
139: public void setWorkStreet(String street);
140:
141: /**
142: * Sets the city of this <tt>JwmaContactImpl</tt> at work.
143: *
144: * @param city the city of this contact at work as String.
145: */
146: public void setWorkCity(String city);
147:
148: /**
149: * Sets the region of this <tt>JwmaContactImpl</tt> at work.
150: *
151: * @param region the region of this contact at work as String.
152: */
153: public void setWorkRegion(String region);
154:
155: /**
156: * Sets the country of this <tt>JwmaContactImpl</tt> at work.
157: *
158: * @param country the country of this contact at work as String.
159: */
160: public void setWorkCountry(String country);
161:
162: /**
163: * Sets the ZIP of this <tt>JwmaContactImpl</tt> at work.
164: *
165: * @param zip the ZIP of this contact at work as String.
166: *
167: * @throws <tt>JwmaException</tt> if the zip is an invalid format.
168: */
169: public void setWorkZIP(String zip) throws JwmaException;
170:
171: /**
172: * Sets the street name of this <tt>JwmaContactImpl</tt> at home.
173: *
174: * @param street the street of this contact at home as String.
175: */
176: public void setHomeStreet(String street);
177:
178: /**
179: * Sets the city of this <tt>JwmaContactImpl</tt> at home.
180: *
181: * @param city the city of this contact at home as String.
182: */
183: public void setHomeCity(String city);
184:
185: /**
186: * Sets the region of this <tt>JwmaContactImpl</tt> at home.
187: *
188: * @param region the region of this contact at home as String.
189: */
190: public void setHomeRegion(String region);
191:
192: /**
193: * Sets the country of this <tt>JwmaContactImpl</tt> at home.
194: *
195: * @param country the country of this contact at home as String.
196: */
197: public void setHomeCountry(String country);
198:
199: /**
200: * Sets the ZIP of this <tt>JwmaContactImpl</tt> at home.
201: *
202: * @param zip the ZIP of this contact at home as String.
203: *
204: * @throws <tt>JwmaException</tt> if the zip is an invalid format.
205: */
206: public void setHomeZIP(String zip) throws JwmaException;
207:
208: /**
209: * Sets the email of this <tt>JwmaContactImpl</tt>.
210: *
211: * @param email the email of this contact as String.
212: *
213: * @throws <tt>JwmaException</tt> if the email is an invalid format.
214: */
215: public void setEmail(String email) throws JwmaException;
216:
217: /**
218: * Sets the alternate email of this <tt>JwmaContactImpl</tt>.
219: *
220: * @param email the alternate email of this contact as String.
221: *
222: * @throws <tt>JwmaException</tt> if the email is an invalid format.
223: */
224: public void setAlternateEmail(String email) throws JwmaException;
225:
226: /**
227: * Sets the URL associated with this <tt>JwmaContactImpl</tt>.
228: *
229: * @param url the URL associated with this contact as String.
230: *
231: * @throws <tt>JwmaException</tt> if the url is an invalid format.
232: */
233: public void setURL(String url);
234:
235: /**
236: * Sets the company URL associated with this <tt>JwmaContactImpl</tt>.
237: *
238: * @param url the company URL associated with this contact as String.
239: *
240: * @throws <tt>JwmaException</tt> if the url is an invalid format.
241: */
242: public void setCompanyURL(String url);
243:
244: /**
245: * Sets the comments for this <tt>JwmaContactImpl</tt>.
246: *
247: * @param comments the comments of this contact as String.
248: */
249: public void setComments(String comments);
250:
251: /**
252: * Sets the birthdate of this <tt>JwmaContactImpl</tt>.
253: *
254: * @param date the birthdate as <tt>Date</tt>.
255: */
256: public void setBirthDate(Date date);
257:
258: /**
259: * Sets if this <tt>JwmaContactImpl</tt> represents a frequent
260: * mail recipient.
261: *
262: * @param b true if this contact represents a frequent
263: * recipient, false otherwise.
264: */
265: public void setFrequentRecipient(boolean b);
266:
267: }//interface JwmaContactImpl
|