2 * Copyright (C) 2016, 2017 Roland Häder
4 * This program is free software: you can redistribute it and/or modify
5 * it under the terms of the GNU General Public License as published by
6 * the Free Software Foundation, either version 3 of the License, or
7 * (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 General Public License for more details.
14 * You should have received a copy of the GNU General Public License
15 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 package org.mxchange.jcontactsbusiness.headquarters;
19 import java.io.Serializable;
20 import java.util.Calendar;
21 import org.mxchange.jcountry.data.Country;
22 import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
23 import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
24 import org.mxchange.jusercore.model.user.User;
27 * A POJI for headquarters data
29 * @author Roland Häder<roland@mxchange.org>
31 public interface HeadQuartersData extends Serializable {
34 * Getter for headquarters' city name
36 * @return Headquarters' city name
38 String getHeadquartersCity ();
41 * Setter for headquarters' city name
43 * @param headquartersCity Headquarters' city name
45 void setHeadquartersCity (final String headquartersCity);
48 * Getter for headquarters' country code
50 * @return Headquarters' country code
52 Country getHeadquartersCountry ();
55 * Setter for headquarters' country code
57 * @param headquartersCountryCode Headquarters' country code
59 void setHeadquartersCountry (final Country headquartersCountryCode);
62 * Getter for headquarters' house number
64 * @return Headquarters' house number
66 Short getHeadquartersHouseNumber ();
69 * Setter for headquarters' house number
71 * @param headquartersHouseNumber Headquarters' house number
73 void setHeadquartersHouseNumber (final Short headquartersHouseNumber);
76 * Getter for headquarters' id number
78 * @return Headquarters' id number
80 Long getHeadquartersId ();
83 * Setter for headquarters' id number
85 * @param headquartersId Headquarters' id number
87 void setHeadquartersId (final Long headquartersId);
90 * Getter for headquarters' store number
92 * @return Headquarters' store number
94 Short getHeadquartersStore ();
97 * Setter for headquarters' store number
99 * @param headquartersStore Headquarters' store number
101 void setHeadquartersStore (final Short headquartersStore);
104 * Getter for headquarters' street name
106 * @return Headquarters' street name
108 String getHeadquartersStreet ();
111 * Setter for headquarters' street name
113 * @param headquartersStreet Headquarters' street name
115 void setHeadquartersStreet (final String headquartersStreet);
118 * Getter for headquarters' suite number
120 * @return Headquarters' suite number
122 Short getHeadquartersSuiteNumber ();
125 * Setter for headquarters' suite number
127 * @param headquartersSuiteNumber Headquarters' suite number
129 void setHeadquartersSuiteNumber (final Short headquartersSuiteNumber);
132 * Getter for headquarters' ZIP code
134 * @return Headquarters' ZIP code
136 Integer getHeadquartersZipCode ();
139 * Setter for headquarters' ZIP code
141 * @param headquartersZipCode Headquarters' ZIP code
143 void setHeadquartersZipCode (final Integer headquartersZipCode);
146 * Getter for headquarters' phone number
148 * @return Headquarters' phone number
150 DialableLandLineNumber getHeadquartersPhoneNumber ();
153 * Setter for headquarters' phone number
155 * @param headquartersPhoneNumber Headquarters' phone number
157 void setHeadquartersPhoneNumber (final DialableLandLineNumber headquartersPhoneNumber);
160 * Getter for headquarters' fax number
162 * @return Headquarters' fax number
164 DialableFaxNumber getHeadquartersFaxNumber ();
167 * Setter for headquarters' fax number
169 * @param headquartersFaxNumber Headquarters' fax number
171 void setHeadquartersFaxNumber (final DialableFaxNumber headquartersFaxNumber);
174 * Getter for user owner instance
176 * @return User owner instance
178 User getHeadquartersUserOwner ();
181 * Setter for user owner instance
183 * @param headquartersUserOwner User owner instance
185 void setHeadquartersUserOwner (final User headquartersUserOwner);
188 * Getter for timestamp when this entry has been created
190 * @return Timestamp when this entry has been created
192 Calendar getHeadquartersCreated ();
195 * Setter for timestamp when this entry has been created
197 * @param headquartersCreated Timestamp when this entry has been created
199 void setHeadquartersCreated (final Calendar headquartersCreated);
202 boolean equals (final Object object);