2 * Copyright (C) 2016 Roland Haeder
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU Affero General Public License as
6 * published by the Free Software Foundation, either version 3 of the
7 * License, or (at your option) any later version.
9 * This program is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 * GNU Affero General Public License for more details.
14 * You should have received a copy of the GNU Affero General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 package org.mxchange.pizzaapplication.beans.user;
19 import java.io.Serializable;
20 import java.util.Date;
21 import java.util.List;
22 import org.mxchange.jcontacts.contact.gender.Gender;
23 import org.mxchange.jcountry.data.Country;
24 import org.mxchange.jphone.phonenumbers.smsprovider.SmsProvider;
25 import org.mxchange.jusercore.exceptions.UserNotFoundException;
26 import org.mxchange.jusercore.model.user.User;
27 import org.mxchange.jusercore.model.user.profilemodes.ProfileMode;
30 * An interface for user beans
32 * @author Roland Haeder<roland@mxchange.org>
34 public interface PizzaAdminUserWebSessionController extends Serializable {
37 * Tries to lookup user by given id number. If the user is not found or the
38 * account status is not CONFIRMED proper exceptions are thrown.
40 * @param userId User id
42 * @return User instance
44 * @throws UserNotFoundException If the user is not found
46 User lookupUserById (final Long userId) throws UserNotFoundException;
51 * @return A list of all public user profiles
53 List<User> allUsers ();
56 * Getter for birth day
63 * Setter for birth day
65 * @param birthday Birth day
67 void setBirthday (final Date birthday);
70 * Getter for ellphone number's carrier
72 * @return Cellphone number's carrier
74 SmsProvider getCellphoneCarrier ();
77 * Setter for cellphone number's carrier prefix
79 * @param cellphoneCarrier Cellphone number's carrier prefix
81 void setCellphoneCarrier (final SmsProvider cellphoneCarrier);
84 * Getter for ellphone number
86 * @return Cellphone number
88 Long getCellphoneNumber ();
91 * Setter for ellphone number
93 * @param cellphoneNumber Cellphone number
95 void setCellphoneNumber (final Long cellphoneNumber);
107 * @param city the city to set
109 void setCity (final String city);
112 * Getter for comments
116 String getComment ();
121 * @param comment Comments
123 void setComment (final String comment);
126 * Getter for country instance
128 * @return Country instance
130 Country getCountry ();
133 * Setter for country instance
135 * @param country Country instance
137 void setCountry (final Country country);
140 * Getter for email address
142 * @return Email address
144 String getEmailAddress ();
147 * Setter for email address
149 * @param emailAddress Email address
151 void setEmailAddress (final String emailAddress);
156 * @return the familyName
158 String getFamilyName ();
163 * @param familyName the familyName to set
165 void setFamilyName (final String familyName);
168 * Getter for fax number's area code
170 * @return Fax number's area code
172 Integer getFaxAreaCode ();
175 * Setter for fax number's area code
177 * @param faxAreaCode Fax number's area code
179 void setFaxAreaCode (final Integer faxAreaCode);
182 * Getter for fax's country instance
184 * @return Fax' country instance
186 Country getFaxCountry ();
189 * Setter for fax's country instance
191 * @param faxCountry Fax' country instance
193 void setFaxCountry (final Country faxCountry);
196 * Getter for fax number
200 Long getFaxNumber ();
203 * Setter for fax number
205 * @param faxNumber Fax number
207 void setFaxNumber (final Long faxNumber);
212 * @return the first name
214 String getFirstName ();
219 * @param firstName the first name to set
221 void setFirstName (final String firstName);
224 * Gender of the contact
231 * Gender of the contact
233 * @param gender the gender to set
235 void setGender (final Gender gender);
240 * @return the houseNumber
242 Short getHouseNumber ();
247 * @param houseNumber the houseNumber to set
249 void setHouseNumber (final Short houseNumber);
252 * Getter for phone number's area code
254 * @return Phone number's area code
256 Integer getPhoneAreaCode ();
259 * Setter for phone number's area code
261 * @param phoneAreaCode Phone number's area code
263 void setPhoneAreaCode (final Integer phoneAreaCode);
266 * Getter for phone number's country instance
268 * @return Phone number's country instance
270 Country getPhoneCountry ();
273 * Setter for phone number's country instance
275 * @param phoneCountry Phone number's country instance
277 void setPhoneCountry (final Country phoneCountry);
280 * Getter for phone number
282 * @return Phone number
284 Long getPhoneNumber ();
287 * Setter for phone number
289 * @param phoneNumber Phone number
291 void setPhoneNumber (final Long phoneNumber);
303 * @param street the street to set
305 void setStreet (final String street);
317 * @param userId User id
319 void setUserId (final Long userId);
322 * Getter for user name
326 String getUserName ();
329 * Setter for user name
331 * @param userName User name
333 void setUserName (final String userName);
336 * Getter for unencrypted user password
338 * @return Unencrypted user password
340 String getUserPassword ();
343 * Setter for unencrypted user password
345 * @param userPassword Unencrypted user password
347 void setUserPassword (final String userPassword);
350 * Getter for unencrypted user password repeated
352 * @return Unencrypted user password repeated
354 String getUserPasswordRepeat ();
357 * Setter for unencrypted user password repeated
359 * @param userPasswordRepeat Unencrypted user password repeated
361 void setUserPasswordRepeat (final String userPasswordRepeat);
364 * Getter for user profile mode
366 * @return User profile mode
368 ProfileMode getUserProfileMode ();
371 * Setter for user profile mode
373 * @param userProfileMode User profile mode
375 void setUserProfileMode (final ProfileMode userProfileMode);
380 * @return the zipCode
382 Integer getZipCode ();
387 * @param zipCode the zipCode to set
389 void setZipCode (final Integer zipCode);