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.customer;
19 import java.io.Serializable;
20 import org.mxchange.jcontacts.contact.gender.Gender;
21 import org.mxchange.jcountry.data.Country;
22 import org.mxchange.jcustomercore.model.customer.Customer;
23 import org.mxchange.jphone.phonenumbers.cellphone.DialableCellphoneNumber;
24 import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
25 import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
28 * An interface for customer beans
30 * @author Roland Haeder<roland@mxchange.org>
32 public interface PizzaCustomerWebSessionController extends Serializable {
35 * Creates an instance from all properties
37 * @return A Customer instance
39 Customer createCustomerInstance ();
44 * @return the cellphoneNumber
46 DialableCellphoneNumber getCellphoneNumber ();
51 * @param cellphoneNumber the cellphoneNumber to set
53 void setCellphoneNumber (final DialableCellphoneNumber cellphoneNumber);
65 * @param city the city to set
67 void setCity (final String city);
70 * Getter for country instance
72 * @return Country instance
74 Country getCountry ();
77 * Setter for country instance
79 * @param country Country instance
81 void setCountry (final Country country);
86 * @return the emailAddress
88 String getEmailAddress ();
93 * @param emailAddress the emailAddress to set
95 void setEmailAddress (final String emailAddress);
100 * @return the familyName
102 String getFamilyName ();
107 * @param familyName the familyName to set
109 void setFamilyName (final String familyName);
114 * @return the faxNumber
116 DialableFaxNumber getFaxNumber ();
121 * @param faxNumber the faxNumber to set
123 void setFaxNumber (final DialableFaxNumber faxNumber);
128 * @return the first name
130 String getFirstName ();
135 * @param firstName the first name to set
137 void setFirstName (final String firstName);
140 * Gender of the contact
147 * Gender of the contact
149 * @param gender the gender to set
151 void setGender (final Gender gender);
156 * @return the houseNumber
158 Short getHouseNumber ();
163 * @param houseNumber the houseNumber to set
165 void setHouseNumber (final Short houseNumber);
170 * @return the phoneNumber
172 DialableLandLineNumber getPhoneNumber ();
177 * @param phoneNumber the phoneNumber to set
179 void setPhoneNumber (final DialableLandLineNumber phoneNumber);
191 * @param street the street to set
193 void setStreet (final String street);
198 * @return the zipCode
200 Integer getZipCode ();
205 * @param zipCode the zipCode to set
207 void setZipCode (final Integer zipCode);
210 * Checks whether all required personal data is set
212 * @return Whether the required personal data is set
214 boolean isRequiredPersonalDataSet ();