]> git.mxchange.org Git - jcontacts-business-core.git/blob - src/org/mxchange/jcontactsbusiness/model/branchoffice/BranchOffice.java
Updated jar(s)
[jcontacts-business-core.git] / src / org / mxchange / jcontactsbusiness / model / branchoffice / BranchOffice.java
1 /*
2  * Copyright (C) 2016 - 2018 Free Software Foundation
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.branchoffice;
18
19 import java.io.Serializable;
20 import java.util.Date;
21 import java.util.List;
22 import org.mxchange.jcontactsbusiness.model.basicdata.BasicData;
23 import org.mxchange.jcontactsbusiness.model.employee.Employable;
24 import org.mxchange.jcontactsbusiness.model.opening_time.OpeningTime;
25 import org.mxchange.jcountry.model.data.Country;
26 import org.mxchange.jphone.model.phonenumbers.fax.DialableFaxNumber;
27 import org.mxchange.jphone.model.phonenumbers.landline.DialableLandLineNumber;
28 import org.mxchange.jusercore.model.user.User;
29
30 /**
31  * A POJI for branch offices
32  * <p>
33  * @author Roland Häder<roland@mxchange.org>
34  */
35 public interface BranchOffice extends Comparable<BranchOffice>, Serializable {
36
37         /**
38          * Getter for branch office's city name
39          * <p>
40          * @return Branch office's city name
41          */
42         String getBranchCity ();
43
44         /**
45          * Setter for branch office's city name
46          * <p>
47          * @param branchCity Branch office's city name
48          */
49         void setBranchCity (final String branchCity);
50
51         /**
52          * Getter for branch office's email address
53          * <p>
54          * @return Branch office's email address
55          */
56         String getBranchEmailAddress ();
57
58         /**
59          * Setter for branch office's email address
60          * <p>
61          * @param branchEmailAddress Branch office's email address
62          */
63         void setBranchEmailAddress (final String branchEmailAddress);
64
65         /**
66          * Getter for branch office's fax number
67          * <p>
68          * @return Branch office's fax number
69          */
70         DialableFaxNumber getBranchFaxNumber ();
71
72         /**
73          * Setter for branch office's fax number
74          * <p>
75          * @param branchFaxNumber Branch office's fax number
76          */
77         void setBranchFaxNumber (final DialableFaxNumber branchFaxNumber);
78
79         /**
80          * Getter for branch office's house number
81          * <p>
82          * @return Branch office's house number
83          */
84         Short getBranchHouseNumber ();
85
86         /**
87          * Setter for branch office's house number
88          * <p>
89          * @param branchHouseNumber Branch office's house number
90          */
91         void setBranchHouseNumber (final Short branchHouseNumber);
92
93         /**
94          * Getter for house number's extension
95          * <p>
96          * @return House number's extension
97          */
98         String getBranchHouseNumberExtension ();
99
100         /**
101          * Setter for house number's extension
102          * <p>
103          * @param branchHouseNumberExtension House number's extension
104          */
105         void setBranchHouseNumberExtension (final String branchHouseNumberExtension);
106
107         /**
108          * Getter for branch office's last house number
109          * <p>
110          * @return Branch office's last house number
111          */
112         Short getBranchLastHouseNumber ();
113
114         /**
115          * Setter for branch office's last house number
116          * <p>
117          * @param branchLastHouseNumber Branch office's last house number
118          */
119         void setBranchLastHouseNumber (final Short branchLastHouseNumber);
120
121         /**
122          * Getter for branch office's phone number
123          * <p>
124          * @return Branch office's phone number
125          */
126         DialableLandLineNumber getBranchLandLineNumber ();
127
128         /**
129          * Setter for branch office's phone number
130          * <p>
131          * @param branchPhoneNumber Branch office's phone number
132          */
133         void setBranchLandLineNumber (final DialableLandLineNumber branchPhoneNumber);
134
135         /**
136          * Getter for branch office number
137          * <p>
138          * @return Branch office number
139          */
140         Long getBranchNumber ();
141
142         /**
143          * Setter for branch office number
144          * <p>
145          * @param branchNumber Branch office number
146          */
147         void setBranchNumber (final Long branchNumber);
148
149         /**
150          * Getter for branch office's store
151          * <p>
152          * @return Branch office's store
153          */
154         Short getBranchStore ();
155
156         /**
157          * Setter for branch office's store
158          * <p>
159          * @param branchStore Branch office's store
160          */
161         void setBranchStore (final Short branchStore);
162
163         /**
164          * Getter for branch office's street name
165          * <p>
166          * @return Branch office's street name
167          */
168         String getBranchStreet ();
169
170         /**
171          * Setter for branch office's street name
172          * <p>
173          * @param branchStreet Branch office's street name
174          */
175         void setBranchStreet (final String branchStreet);
176
177         /**
178          * Getter for branch office's suite number
179          * <p>
180          * @return Branch office's suite number
181          */
182         Short getBranchSuiteNumber ();
183
184         /**
185          * Setter for branch office's suite number
186          * <p>
187          * @param branchSuiteNumber Branch office's suite number
188          */
189         void setBranchSuiteNumber (final Short branchSuiteNumber);
190
191         /**
192          * Getter for opening times for this branch office
193          * <p>
194          * @return Opening times
195          */
196         List<OpeningTime> getBranchOpeningTimes ();
197
198         /**
199          * Setter for opening times for this branch office
200          * <p>
201          * @param branchOpeningTimes Opening times
202          */
203         void setBranchOpeningTimes (final List<OpeningTime> branchOpeningTimes);
204
205         /**
206          * Getter for branch office owning employee
207          * <p>
208          * @return Owning employee
209          */
210         Employable getBranchOwnerEmployee ();
211
212         /**
213          * Setter for branch office owning employee
214          * <p>
215          * @param branchOwnerEmployee Owning employee
216          */
217         void setBranchOwnerEmployee (final Employable branchOwnerEmployee);
218
219         /**
220          * Getter for branch office's ZIP code
221          * <p>
222          * @return Branch office's ZIP code
223          */
224         Integer getBranchZipCode ();
225
226         /**
227          * Setter for branch office's ZIP code
228          * <p>
229          * @param branchZipCode Branch office's ZIP code
230          */
231         void setBranchZipCode (final Integer branchZipCode);
232
233         /**
234          * Getter for branch office's id number
235          * <p>
236          * @return Branch office's id number
237          */
238         Long getBranchId ();
239
240         /**
241          * Setter for branch office's id number
242          * <p>
243          * @param branchId Branch office's id number
244          */
245         void setBranchId (final Long branchId);
246
247         /**
248          * Getter for branch office's country
249          * <p>
250          * @return Branch office's country
251          */
252         Country getBranchCountry ();
253
254         /**
255          * Setter for branch office's country
256          * <p>
257          * @param branchCountryCode Branch office's country
258          */
259         void setBranchCountry (final Country branchCountryCode);
260
261         /**
262          * Getter for branch office's company
263          * <p>
264          * @return Branch office's company
265          */
266         BasicData getBranchCompany ();
267
268         /**
269          * Setter for branch office's company
270          * <p>
271          * @param branchCompany Branch office's company
272          */
273         void setBranchCompany (final BasicData branchCompany);
274
275         /**
276          * Getter branch office's contact person
277          * <p>
278          * @return Branch office's contact person
279          */
280         Employable getBranchContactEmployee ();
281
282         /**
283          * Setter branch office's contact person
284          * <p>
285          * @param branchEmployee Branch office's contact person
286          */
287         void setBranchContactEmployee (final Employable branchEmployee);
288
289         /**
290          * Getter for user owner instance
291          * <p>
292          * @return User owner instance
293          */
294         User getBranchUserOwner ();
295
296         /**
297          * Setter for user owner instance
298          * <p>
299          * @param branchUserOwner User owner instance
300          */
301         void setBranchUserOwner (final User branchUserOwner);
302
303         /**
304          * Getter for timestamp when this entry has been created
305          * <p>
306          * @return Timestamp when this entry has been created
307          */
308         Date getBranchCreated ();
309
310         /**
311          * Setter for timestamp when this entry has been created
312          * <p>
313          * @param branchCreated Timestamp when this entry has been created
314          */
315         void setBranchCreated (final Date branchCreated);
316
317         @Override
318         boolean equals (final Object object);
319
320         @Override
321         int hashCode ();
322 }