]> git.mxchange.org Git - jcontacts-business-core.git/blob - src/org/mxchange/jcontactsbusiness/model/headquarters/Headquarters.java
Continued:
[jcontacts-business-core.git] / src / org / mxchange / jcontactsbusiness / model / headquarters / Headquarters.java
1 /*
2  * Copyright (C) 2016, 2017 Roland Häder
3  *
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.
8  *
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.
13  *
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/>.
16  */
17 package org.mxchange.jcontactsbusiness.model.headquarters;
18
19 import java.io.Serializable;
20 import java.util.Date;
21 import java.util.List;
22 import org.mxchange.jcontactsbusiness.model.employee.Employable;
23 import org.mxchange.jcontactsbusiness.model.opening_time.OpeningTime;
24 import org.mxchange.jcountry.model.data.Country;
25 import org.mxchange.jphone.model.phonenumbers.fax.DialableFaxNumber;
26 import org.mxchange.jphone.model.phonenumbers.landline.DialableLandLineNumber;
27 import org.mxchange.jusercore.model.user.User;
28
29 /**
30  * A POJI for headquarters data
31  * <p>
32  * @author Roland Häder<roland@mxchange.org>
33  */
34 public interface Headquarters extends Serializable {
35
36         /**
37          * Getter for headquarters' city name
38          * <p>
39          * @return Headquarters' city name
40          */
41         String getHeadquartersCity ();
42
43         /**
44          * Setter for headquarters' city name
45          * <p>
46          * @param headquartersCity Headquarters' city name
47          */
48         void setHeadquartersCity (final String headquartersCity);
49
50         /**
51          * Getter for headquarters' country code
52          * <p>
53          * @return Headquarters' country code
54          */
55         Country getHeadquartersCountry ();
56
57         /**
58          * Setter for headquarters' country code
59          * <p>
60          * @param headquartersCountryCode Headquarters' country code
61          */
62         void setHeadquartersCountry (final Country headquartersCountryCode);
63
64         /**
65          * Getter for headquarters' house number
66          * <p>
67          * @return Headquarters' house number
68          */
69         Short getHeadquartersHouseNumber ();
70
71         /**
72          * Setter for headquarters' house number
73          * <p>
74          * @param headquartersHouseNumber Headquarters' house number
75          */
76         void setHeadquartersHouseNumber (final Short headquartersHouseNumber);
77
78         /**
79          * Getter for headquarters' id number
80          * <p>
81          * @return Headquarters' id number
82          */
83         Long getHeadquartersId ();
84
85         /**
86          * Setter for headquarters' id number
87          * <p>
88          * @param headquartersId Headquarters' id number
89          */
90         void setHeadquartersId (final Long headquartersId);
91
92         /**
93          * Getter for headquarters' store number
94          * <p>
95          * @return Headquarters' store number
96          */
97         Short getHeadquartersStore ();
98
99         /**
100          * Setter for headquarters' store number
101          * <p>
102          * @param headquartersStore Headquarters' store number
103          */
104         void setHeadquartersStore (final Short headquartersStore);
105
106         /**
107          * Getter for headquarters' street name
108          * <p>
109          * @return Headquarters' street name
110          */
111         String getHeadquartersStreet ();
112
113         /**
114          * Setter for headquarters' street name
115          * <p>
116          * @param headquartersStreet Headquarters' street name
117          */
118         void setHeadquartersStreet (final String headquartersStreet);
119
120         /**
121          * Getter for headquarters' suite number
122          * <p>
123          * @return Headquarters' suite number
124          */
125         Short getHeadquartersSuiteNumber ();
126
127         /**
128          * Setter for headquarters' suite number
129          * <p>
130          * @param headquartersSuiteNumber Headquarters' suite number
131          */
132         void setHeadquartersSuiteNumber (final Short headquartersSuiteNumber);
133
134         /**
135          * Getter for headquarters' ZIP code
136          * <p>
137          * @return Headquarters' ZIP code
138          */
139         Integer getHeadquartersZipCode ();
140
141         /**
142          * Setter for headquarters' ZIP code
143          * <p>
144          * @param headquartersZipCode Headquarters' ZIP code
145          */
146         void setHeadquartersZipCode (final Integer headquartersZipCode);
147
148         /**
149          * Getter for headquarters' land-line number
150          * <p>
151          * @return Headquarters' land-line number
152          */
153         DialableLandLineNumber getHeadquartersLandLineNumber ();
154
155         /**
156          * Setter for headquarters' land-line number
157          * <p>
158          * @param headquartersLandLineNumber Headquarters' land-line number
159          */
160         void setHeadquartersLandLineNumber (final DialableLandLineNumber headquartersLandLineNumber);
161
162         /**
163          * Getter for headquarters' fax number
164          * <p>
165          * @return Headquarters' fax number
166          */
167         DialableFaxNumber getHeadquartersFaxNumber ();
168
169         /**
170          * Setter for headquarters' fax number
171          * <p>
172          * @param headquartersFaxNumber Headquarters' fax number
173          */
174         void setHeadquartersFaxNumber (final DialableFaxNumber headquartersFaxNumber);
175
176         /**
177          * Getter for user owner instance
178          * <p>
179          * @return User owner instance
180          */
181         User getHeadquartersUserOwner ();
182
183         /**
184          * Setter for user owner instance
185          * <p>
186          * @param headquartersUserOwner User owner instance
187          */
188         void setHeadquartersUserOwner (final User headquartersUserOwner);
189
190         /**
191          * Getter for branch office owning employee
192          * <p>
193          * @return Owning employee
194          */
195         Employable getHeadquartersContactEmployee ();
196
197         /**
198          * Setter for branch office contact person
199          * <p>
200          * @param branchContactEmployee Contact person
201          */
202         void setHeadquartersContactEmployee (final Employable branchContactEmployee);
203
204         /**
205          * Getter for opening times for this branch office
206          * <p>
207          * @return Opening times
208          */
209         List<OpeningTime> getHeadquartersOpeningTimes ();
210
211         /**
212          * Setter for opening times for this branch office
213          * <p>
214          * @param branchOpeningTimes Opening times
215          */
216         void setHeadquartersOpeningTimes (final List<OpeningTime> branchOpeningTimes);
217
218         /**
219          * Getter for timestamp when this entry has been created
220          * <p>
221          * @return Timestamp when this entry has been created
222          */
223         Date getHeadquartersCreated ();
224
225         /**
226          * Setter for timestamp when this entry has been created
227          * <p>
228          * @param headquartersCreated Timestamp when this entry has been created
229          */
230         void setHeadquartersCreated (final Date headquartersCreated);
231
232         @Override
233         boolean equals (final Object object);
234
235         @Override
236         int hashCode ();
237
238 }