]> git.mxchange.org Git - jcontacts-business-core.git/blob - src/org/mxchange/jcontactsbusiness/branch/BranchOffice.java
Don't implement lists in a POJO/POJI, better handle it outside of it
[jcontacts-business-core.git] / src / org / mxchange / jcontactsbusiness / branch / BranchOffice.java
1 /*
2  * Copyright (C) 2016 Roland Haeder
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.branch;
18
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;
25
26 /**
27  * A POJI for branch offices
28  * <p>
29  * @author Roland Haeder
30  */
31 public interface BranchOffice extends Serializable {
32
33         /**
34          * Getter for branch office's city name
35          * <p>
36          * @return Branch office's city name
37          */
38         String getBranchCity ();
39
40         /**
41          * Setter for branch office's city name
42          * <p>
43          * @param branchCity Branch office's city name
44          */
45         void setBranchCity (final String branchCity);
46
47         /**
48          * Getter for branch office's email address
49          * <p>
50          * @return Branch office's email address
51          */
52         String getBranchEmailAddress ();
53
54         /**
55          * Setter for branch office's email address
56          * <p>
57          * @param branchEmailAddress Branch office's email address
58          */
59         void setBranchEmailAddress (final String branchEmailAddress);
60
61         /**
62          * Getter for branch office's fax number
63          * <p>
64          * @return Branch office's fax number
65          */
66         DialableFaxNumber getBranchFaxNumber ();
67
68         /**
69          * Setter for branch office's fax number
70          * <p>
71          * @param branchFaxNumber Branch office's fax number
72          */
73         void setBranchFaxNumber (final DialableFaxNumber branchFaxNumber);
74
75         /**
76          * Getter for branch office's house number
77          * <p>
78          * @return Branch office's house number
79          */
80         Short getBranchHouseNumber ();
81
82         /**
83          * Setter for branch office's house number
84          * <p>
85          * @param branchHouseNumber Branch office's house number
86          */
87         void setBranchHouseNumber (final Short branchHouseNumber);
88
89         /**
90          * Getter for branch office's phone number
91          * <p>
92          * @return Branch office's phone number
93          */
94         DialableLandLineNumber getBranchPhoneNumber ();
95
96         /**
97          * Setter for branch office's phone number
98          * <p>
99          * @param branchPhoneNumber Branch office's phone number
100          */
101         void setBranchPhoneNumber (final DialableLandLineNumber branchPhoneNumber);
102
103         /**
104          * Getter for branch office's store
105          * <p>
106          * @return Branch office's store
107          */
108         Short getBranchStore ();
109
110         /**
111          * Setter for branch office's store
112          * <p>
113          * @param branchStore Branch office's store
114          */
115         void setBranchStore (final Short branchStore);
116
117         /**
118          * Getter for branch office's street name
119          * <p>
120          * @return Branch office's street name
121          */
122         String getBranchStreet ();
123
124         /**
125          * Setter for branch office's street name
126          * <p>
127          * @param branchStreet Branch office's street name
128          */
129         void setBranchStreet (final String branchStreet);
130
131         /**
132          * Getter for branch office's suite number
133          * <p>
134          * @return Branch office's suite number
135          */
136         Short getBranchSuiteNumber ();
137
138         /**
139          * Setter for branch office's suite number
140          * <p>
141          * @param branchSuiteNumber Branch office's suite number
142          */
143         void setBranchSuiteNumber (final Short branchSuiteNumber);
144
145         /**
146          * Getter for branch office's ZIP code
147          * <p>
148          * @return Branch office's ZIP code
149          */
150         Integer getBranchZipCode ();
151
152         /**
153          * Setter for branch office's ZIP code
154          * <p>
155          * @param branchZipCode Branch office's ZIP code
156          */
157         void setBranchZipCode (final Integer branchZipCode);
158
159         /**
160          * Getter for branch office's id number
161          * <p>
162          * @return Branch office's id number
163          */
164         Long getBranchId ();
165
166         /**
167          * Setter for branch office's id number
168          * <p>
169          * @param branchId Branch office's id number
170          */
171         void setBranchId (final Long branchId);
172
173         /**
174          * Getter for branch office's country
175          * <p>
176          * @return Branch office's country
177          */
178         Country getBranchCountry ();
179
180         /**
181          * Setter for branch office's country
182          * <p>
183          * @param branchCountryCode Branch office's country
184          */
185         void setBranchCountry (final Country branchCountryCode);
186
187         /**
188          * Getter for branch office's company
189          * <p>
190          * @return Branch office's company
191          */
192         Long getBranchCompanyContact ();
193
194         /**
195          * Setter for branch office's company
196          * <p>
197          * @param branchCompanyContact Branch office's company
198          */
199         void setBranchCompanyContact (final Long branchCompanyContact);
200
201         /**
202          * Getter for user owner instance
203          * <p>
204          * @return User owner instance
205          */
206         User getBranchUserOwner ();
207
208         /**
209          * Setter for user owner instance
210          * <p>
211          * @param branchUserOwner User owner instance
212          */
213         void setBranchUserOwner (final User branchUserOwner);
214
215         /**
216          * Getter for timestamp when this entry has been created
217          * <p>
218          * @return Timestamp when this entry has been created
219          */
220         Calendar getBranchCreated ();
221
222         /**
223          * Setter for timestamp when this entry has been created
224          * <p>
225          * @param branchCreated Timestamp when this entry has been created
226          */
227         void setBranchCreated (final Calendar branchCreated);
228
229         @Override
230         boolean equals (final Object object);
231
232         @Override
233         int hashCode ();
234 }