]> git.mxchange.org Git - jcontacts-business-core.git/blob - src/org/mxchange/jcontactsbusiness/employee/Employee.java
A @OneToMany annotation always causes that in the target entity's table the column...
[jcontacts-business-core.git] / src / org / mxchange / jcontactsbusiness / employee / Employee.java
1 /*
2  * Copyright (C) 2015 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.employee;
18
19 import java.io.Serializable;
20 import org.mxchange.jcontacts.contact.Contact;
21 import org.mxchange.jcontactsbusiness.BusinessContact;
22 import org.mxchange.jcontactsbusiness.branch.BranchOffice;
23 import org.mxchange.jcontactsbusiness.department.Department;
24 import org.mxchange.jcontactsbusiness.jobposition.JobPosition;
25 import org.mxchange.jphone.phonenumbers.cellphone.DialableCellphoneNumber;
26
27 /**
28  * A POJI for employees
29  * <p>
30  * @author Roland Haeder
31  */
32 public interface Employee extends Serializable {
33
34         /**
35          * Getter for employee's branch office
36          * <p>
37          * @return Employee's branch office
38          */
39         BranchOffice getEmployeeBranchOffice ();
40
41         /**
42          * Setter for employee's branch office
43          * <p>
44          * @param employeeBranchOffice Employee's branch office
45          */
46         void setEmployeeBranchOffice (final BranchOffice employeeBranchOffice);
47
48         /**
49          * Getter for employee's company
50          * <p>
51          * @return Company instance
52          */
53         BusinessContact getEmployeeCompany ();
54
55         /**
56          * Setter for employee's company
57          * <p>
58          * @param employeeCompany Company instance
59          */
60         void setEmployeeCompany (final BusinessContact employeeCompany);
61
62         /**
63          * Getter for employee's department
64          * <p>
65          * @return Employee's department
66          */
67         Department getEmployeeDepartment ();
68
69         /**
70          * Setter for employee's department
71          * <p>
72          * @param employeeDepartment Employee's department
73          */
74         void setEmployeeDepartment (final Department employeeDepartment);
75
76         /**
77          * Getter for employee's email address
78          * <p>
79          * @return Employee's email address
80          */
81         String getEmployeeEmailAddress ();
82
83         /**
84          * Setter for employee's email address
85          * <p>
86          * @param employeeEmailAddress Employee's email address
87          */
88         void setEmployeeEmailAddress (final String employeeEmailAddress);
89
90         /**
91          * Getter for employee's id number
92          * <p>
93          * @return Employee's id number
94          */
95         Long getEmployeeId ();
96
97         /**
98          * Setter for employee's id number
99          * <p>
100          * @param employeeId Employee's id number
101          */
102         void setEmployeeId (final Long employeeId);
103
104         /**
105          * Getter for employee's mobile number
106          * <p>
107          * @return Employee's mobile number
108          */
109         DialableCellphoneNumber getEmployeeMobileNumber ();
110
111         /**
112          * Setter for employee's mobile number
113          * <p>
114          * @param employeeMobileNumber Employee's mobile number
115          */
116         void setEmployeeMobileNumber (final DialableCellphoneNumber employeeMobileNumber);
117
118         /**
119          * Getter for employee's number
120          * <p>
121          * @return Employee's number
122          */
123         String getEmployeeNumber ();
124
125         /**
126          * Setter for employee's number
127          * <p>
128          * @param employeeNumber Employee's number
129          */
130         void setEmployeeNumber (final String employeeNumber);
131
132         /**
133          * Getter for employee's personal data
134          * <p>
135          * @return Employee's personal data
136          */
137         Contact getEmployeePersonalData ();
138
139         /**
140          * Setter for employee's personal data
141          * <p>
142          * @param employeePersonalData Employee's personal data
143          */
144         void setEmployeePersonalData (final Contact employeePersonalData);
145
146         /**
147          * Getter for employee's phone number/extension
148          * <p>
149          * @return Employee's phone number/extension
150          */
151         Integer getEmployeePhoneExtension ();
152
153         /**
154          * Setter for employee's phone number/extension
155          * <p>
156          * @param employeePhoneExtension Employee's phone number/extension
157          */
158         void setEmployeePhoneExtension (final Integer employeePhoneExtension);
159
160         /**
161          * Getter for employee's position
162          * <p>
163          * @return Employee's position
164          */
165         JobPosition getEmployeePosition ();
166
167         /**
168          * Setter for employee's position
169          * <p>
170          * @param employeePosition Employee's position
171          */
172         void setEmployeePosition (final JobPosition employeePosition);
173
174         @Override
175          boolean equals (final Object object);
176
177         @Override
178          int hashCode ();
179 }