]> git.mxchange.org Git - jcontacts-business-core.git/blob - src/org/mxchange/jcontactsbusiness/model/branchoffice/BranchOffice.java
Continued:
[jcontacts-business-core.git] / src / org / mxchange / jcontactsbusiness / model / branchoffice / BranchOffice.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.branchoffice;
18
19 import java.io.Serializable;
20 import java.util.Date;
21 import java.util.List;
22 import org.mxchange.jcontactsbusiness.model.basicdata.BusinessBasicData;
23 import org.mxchange.jcontactsbusiness.model.employee.Employee;
24 import org.mxchange.jcontactsbusiness.model.opening_times.OpeningTimes;
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 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 branch office's phone number
95          * <p>
96          * @return Branch office's phone number
97          */
98         DialableLandLineNumber getBranchLandLineNumber ();
99
100         /**
101          * Setter for branch office's phone number
102          * <p>
103          * @param branchPhoneNumber Branch office's phone number
104          */
105         void setBranchLandLineNumber (final DialableLandLineNumber branchPhoneNumber);
106
107         /**
108          * Getter for branch office number
109          * <p>
110          * @return Branch office number
111          */
112         Long getBranchNumber ();
113
114         /**
115          * Setter for branch office number
116          * <p>
117          * @param branchNumber Branch office number
118          */
119         void setBranchNumber (final Long branchNumber);
120
121         /**
122          * Getter for branch office's store
123          * <p>
124          * @return Branch office's store
125          */
126         Short getBranchStore ();
127
128         /**
129          * Setter for branch office's store
130          * <p>
131          * @param branchStore Branch office's store
132          */
133         void setBranchStore (final Short branchStore);
134
135         /**
136          * Getter for branch office's street name
137          * <p>
138          * @return Branch office's street name
139          */
140         String getBranchStreet ();
141
142         /**
143          * Setter for branch office's street name
144          * <p>
145          * @param branchStreet Branch office's street name
146          */
147         void setBranchStreet (final String branchStreet);
148
149         /**
150          * Getter for branch office's suite number
151          * <p>
152          * @return Branch office's suite number
153          */
154         Short getBranchSuiteNumber ();
155
156         /**
157          * Setter for branch office's suite number
158          * <p>
159          * @param branchSuiteNumber Branch office's suite number
160          */
161         void setBranchSuiteNumber (final Short branchSuiteNumber);
162
163         /**
164          * Getter for opening times for this branch office
165          * <p>
166          * @return Opening times
167          */
168         List<OpeningTimes> getBranchOpeningTimes ();
169
170         /**
171          * Setter for opening times for this branch office
172          * <p>
173          * @param branchOpeningTimes Opening times
174          */
175         void setBranchOpeningTimes (final List<OpeningTimes> branchOpeningTimes);
176
177         /**
178          * Getter for branch office owning employee
179          * <p>
180          * @return Owning employee
181          */
182         Employee getBranchOwnerEmployee ();
183
184         /**
185          * Setter for branch office owning employee
186          * <p>
187          * @param branchOwnerEmployee Owning employee
188          */
189         void setBranchOwnerEmployee (final Employee branchOwnerEmployee);
190
191         /**
192          * Getter for branch office's ZIP code
193          * <p>
194          * @return Branch office's ZIP code
195          */
196         Integer getBranchZipCode ();
197
198         /**
199          * Setter for branch office's ZIP code
200          * <p>
201          * @param branchZipCode Branch office's ZIP code
202          */
203         void setBranchZipCode (final Integer branchZipCode);
204
205         /**
206          * Getter for branch office's id number
207          * <p>
208          * @return Branch office's id number
209          */
210         Long getBranchId ();
211
212         /**
213          * Setter for branch office's id number
214          * <p>
215          * @param branchId Branch office's id number
216          */
217         void setBranchId (final Long branchId);
218
219         /**
220          * Getter for branch office's country
221          * <p>
222          * @return Branch office's country
223          */
224         Country getBranchCountry ();
225
226         /**
227          * Setter for branch office's country
228          * <p>
229          * @param branchCountryCode Branch office's country
230          */
231         void setBranchCountry (final Country branchCountryCode);
232
233         /**
234          * Getter for branch office's company
235          * <p>
236          * @return Branch office's company
237          */
238         BusinessBasicData getBranchCompany ();
239
240         /**
241          * Setter for branch office's company
242          * <p>
243          * @param branchCompany Branch office's company
244          */
245         void setBranchCompany (final BusinessBasicData branchCompany);
246
247         /**
248          * Getter branch office's contact person
249          * <p>
250          * @return Branch office's contact person
251          */
252         Employee getBranchContactEmployee ();
253
254         /**
255          * Setter branch office's contact person
256          * <p>
257          * @param branchEmployee Branch office's contact person
258          */
259         void setBranchContactEmployee (final Employee branchEmployee);
260
261         /**
262          * Getter for user owner instance
263          * <p>
264          * @return User owner instance
265          */
266         User getBranchUserOwner ();
267
268         /**
269          * Setter for user owner instance
270          * <p>
271          * @param branchUserOwner User owner instance
272          */
273         void setBranchUserOwner (final User branchUserOwner);
274
275         /**
276          * Getter for timestamp when this entry has been created
277          * <p>
278          * @return Timestamp when this entry has been created
279          */
280         Date getBranchCreated ();
281
282         /**
283          * Setter for timestamp when this entry has been created
284          * <p>
285          * @param branchCreated Timestamp when this entry has been created
286          */
287         void setBranchCreated (final Date branchCreated);
288
289         @Override
290         boolean equals (final Object object);
291
292         @Override
293         int hashCode ();
294 }