]> git.mxchange.org Git - jcontacts-business-core.git/blob - src/org/mxchange/jcontactsbusiness/model/basicdata/BasicData.java
Continued:
[jcontacts-business-core.git] / src / org / mxchange / jcontactsbusiness / model / basicdata / BasicData.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.basicdata;
18
19 import java.io.Serializable;
20 import java.util.Date;
21 import java.util.List;
22 import org.mxchange.jcontactsbusiness.model.branchoffice.BranchOffice;
23 import org.mxchange.jcontactsbusiness.model.employee.Employable;
24 import org.mxchange.jcontactsbusiness.model.headquarter.Headquarter;
25 import org.mxchange.jcontactsbusiness.model.logo.Logo;
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 business contact classes
32  * <p>
33  * @author Roland Häder<roland@mxchange.org>
34  */
35 public interface BasicData extends Serializable {
36
37         /**
38          * Getter for branches list
39          * <p>
40          * @return Branches list
41          */
42         List<BranchOffice> getBrancheOffices ();
43
44         /**
45          * Setter for branches list
46          * <p>
47          * @param branches Branches list
48          */
49         void setBrancheOffices (final List<BranchOffice> branches);
50
51         /**
52          * Getter for company contact person
53          * <p>
54          * @return Company contact person
55          */
56         Employable getCompanyContactEmployee ();
57
58         /**
59          * Setter for company contact person
60          * <p>
61          * @param companyContact Company contact person
62          */
63         void setCompanyContactEmployee (final Employable companyContact);
64
65         /**
66          * Getter for business contact id
67          * <p>
68          * @return Business contact id
69          */
70         Long getBasicDataId ();
71
72         /**
73          * Setter for business contact id
74          * <p>
75          * @param businessContactId Business contact id
76          */
77         void setBasicDataId (final Long businessContactId);
78
79         /**
80          * Getter for company founder
81          * <p>
82          * @return Company founder
83          */
84         Employable getCompanyFounder ();
85
86         /**
87          * Setter for company founder
88          * <p>
89          * @param companyFounder Company founder
90          */
91         void setCompanyFounder (final Employable companyFounder);
92
93         /**
94          * Getter for headquarter data
95          * <p>
96          * @return Headquarter data
97          */
98         Headquarter getCompanyHeadquarterData ();
99
100         /**
101          * Setter for headquarter data
102          * <p>
103          * @param headQuartersData Headquarter data
104          */
105         void setCompanyHeadquarterData (final Headquarter headQuartersData);
106
107         /**
108          * Getter for user owner instance
109          * <p>
110          * @return User owner instance
111          */
112         User getCompanyUserOwner ();
113
114         /**
115          * Setter for user owner instance
116          * <p>
117          * @param contactUserOwner User owner instance
118          */
119         void setCompanyUserOwner (final User contactUserOwner);
120
121         /**
122          * Getter for timestamp when this entry has been created
123          * <p>
124          * @return Timestamp when this entry has been created
125          */
126         Date getCompanyCreated ();
127
128         /**
129          * Setter for timestamp when this entry has been created
130          * <p>
131          * @param contactCreated Timestamp when this entry has been created
132          */
133         void setCompanyCreated (final Date contactCreated);
134
135         /**
136          * Getter for comments
137          * <p>
138          * @return Comments
139          */
140         String getCompanyComments ();
141
142         /**
143          * Setter for comments
144          * <p>
145          * @param companyComments Comments
146          */
147         void setCompanyComments (final String companyComments);
148
149         /**
150          * Getter for email address
151          * <p>
152          * @return Email address
153          */
154         String getCompanyEmailAddress ();
155
156         /**
157          * Setter for email address
158          * <p>
159          * @param companyEmailAddress Email address
160          */
161         void setCompanyEmailAddress (final String companyEmailAddress);
162
163         /**
164          * Getter for list of fax number
165          * <p>
166          * @return Fax numbers
167          */
168         DialableFaxNumber getCompanyFaxNumber ();
169
170         /**
171          * Setter for list of fax number
172          * <p>
173          * @param companyFaxNumber Fax numbers
174          */
175         void setCompanyFaxNumber (final DialableFaxNumber companyFaxNumber);
176
177         /**
178          * Getter for company logo
179          * <p>
180          * @return Company logo
181          */
182         Logo getCompanyLogo ();
183
184         /**
185          * Setter for company logo
186          * <p>
187          * @param companyLogo Company logo
188          */
189         void setCompanyLogo (final Logo companyLogo);
190
191         /**
192          * Getter for company name
193          * <p>
194          * @return Company name
195          */
196         String getCompanyName ();
197
198         /**
199          * Setter for company name
200          * <p>
201          * @param companyName Company name
202          */
203         void setCompanyName (final String companyName);
204
205         /**
206          * Getter for list of phone number
207          * <p>
208          * @return Phone numbers
209          */
210         DialableLandLineNumber getCompanyLandLineNumber ();
211
212         /**
213          * Setter for list of phone number
214          * <p>
215          * @param companyPhoneNumber Phone numbers
216          */
217         void setCompanyLandLineNumber (final DialableLandLineNumber companyPhoneNumber);
218
219         /**
220          * Getter for tax number
221          * <p>
222          * @return Tax number
223          */
224         String getCompanyTaxNumber ();
225
226         /**
227          * Setter for tax number
228          * <p>
229          * @param companyTaxNumber Tax number
230          */
231         void setCompanyTaxNumber (final String companyTaxNumber);
232
233         /**
234          * Getter for website URL
235          * <p>
236          * @return Website URL
237          */
238         String getCompanyWebsiteUrl ();
239
240         /**
241          * Setter for website URL
242          * <p>
243          * @param companyWebsiteUrl Website URL
244          */
245         void setCompanyWebsiteUrl (final String companyWebsiteUrl);
246
247         @Override
248         boolean equals (final Object object);
249
250         @Override
251         int hashCode ();
252 }