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.model.branchoffice;
19 import java.io.Serializable;
20 import java.util.Calendar;
21 import org.mxchange.jcontactsbusiness.model.basicdata.BusinessBasicData;
22 import org.mxchange.jcontactsbusiness.model.employee.Employee;
23 import org.mxchange.jcountry.data.Country;
24 import org.mxchange.jphone.phonenumbers.fax.DialableFaxNumber;
25 import org.mxchange.jphone.phonenumbers.landline.DialableLandLineNumber;
26 import org.mxchange.jusercore.model.user.User;
29 * A POJI for branch offices
31 * @author Roland Häder<roland@mxchange.org>
33 public interface BranchOffice extends Serializable {
36 * Getter for branch office's city name
38 * @return Branch office's city name
40 String getBranchCity ();
43 * Setter for branch office's city name
45 * @param branchCity Branch office's city name
47 void setBranchCity (final String branchCity);
50 * Getter for branch office's email address
52 * @return Branch office's email address
54 String getBranchEmailAddress ();
57 * Setter for branch office's email address
59 * @param branchEmailAddress Branch office's email address
61 void setBranchEmailAddress (final String branchEmailAddress);
64 * Getter for branch office's fax number
66 * @return Branch office's fax number
68 DialableFaxNumber getBranchFaxNumber ();
71 * Setter for branch office's fax number
73 * @param branchFaxNumber Branch office's fax number
75 void setBranchFaxNumber (final DialableFaxNumber branchFaxNumber);
78 * Getter for branch office's house number
80 * @return Branch office's house number
82 Short getBranchHouseNumber ();
85 * Setter for branch office's house number
87 * @param branchHouseNumber Branch office's house number
89 void setBranchHouseNumber (final Short branchHouseNumber);
92 * Getter for branch office's phone number
94 * @return Branch office's phone number
96 DialableLandLineNumber getBranchLandLineNumber ();
99 * Setter for branch office's phone number
101 * @param branchPhoneNumber Branch office's phone number
103 void setBranchLandLineNumber (final DialableLandLineNumber branchPhoneNumber);
106 * Getter for branch office's store
108 * @return Branch office's store
110 Short getBranchStore ();
113 * Setter for branch office's store
115 * @param branchStore Branch office's store
117 void setBranchStore (final Short branchStore);
120 * Getter for branch office's street name
122 * @return Branch office's street name
124 String getBranchStreet ();
127 * Setter for branch office's street name
129 * @param branchStreet Branch office's street name
131 void setBranchStreet (final String branchStreet);
134 * Getter for branch office's suite number
136 * @return Branch office's suite number
138 Short getBranchSuiteNumber ();
141 * Setter for branch office's suite number
143 * @param branchSuiteNumber Branch office's suite number
145 void setBranchSuiteNumber (final Short branchSuiteNumber);
148 * Getter for branch office's ZIP code
150 * @return Branch office's ZIP code
152 Integer getBranchZipCode ();
155 * Setter for branch office's ZIP code
157 * @param branchZipCode Branch office's ZIP code
159 void setBranchZipCode (final Integer branchZipCode);
162 * Getter for branch office's id number
164 * @return Branch office's id number
169 * Setter for branch office's id number
171 * @param branchId Branch office's id number
173 void setBranchId (final Long branchId);
176 * Getter for branch office's country
178 * @return Branch office's country
180 Country getBranchCountry ();
183 * Setter for branch office's country
185 * @param branchCountryCode Branch office's country
187 void setBranchCountry (final Country branchCountryCode);
190 * Getter for branch office's company
192 * @return Branch office's company
194 BusinessBasicData getBranchCompany ();
197 * Setter for branch office's company
199 * @param branchCompany Branch office's company
201 void setBranchCompany (final BusinessBasicData branchCompany);
204 * Getter branch office's contact person
206 * @return Branch office's contact person
208 Employee getBranchContactEmployee ();
211 * Setter branch office's contact person
213 * @param branchEmployee Branch office's contact person
215 void setBranchContactEmployee (final Employee branchEmployee);
218 * Getter for user owner instance
220 * @return User owner instance
222 User getBranchUserOwner ();
225 * Setter for user owner instance
227 * @param branchUserOwner User owner instance
229 void setBranchUserOwner (final User branchUserOwner);
232 * Getter for timestamp when this entry has been created
234 * @return Timestamp when this entry has been created
236 Calendar getBranchCreated ();
239 * Setter for timestamp when this entry has been created
241 * @param branchCreated Timestamp when this entry has been created
243 void setBranchCreated (final Calendar branchCreated);
246 boolean equals (final Object object);