2 * Copyright (C) 2016 - 2018 Free Software Foundation
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.jobposition;
19 import java.io.Serializable;
20 import java.util.Date;
21 import org.mxchange.jcontactsbusiness.model.jobposition.status.JobPositionStatus;
22 import org.mxchange.jusercore.model.user.User;
25 * A POJI for job positions
27 * @author Roland Häder<roland@mxchange.org>
29 public interface HireableJobPosition extends Comparable<HireableJobPosition>, Serializable {
32 * Getter for id number
36 Long getJobPositionId ();
39 * Setter for id number
41 * @param jobPositionId Id number
43 void setJobPositionId (final Long jobPositionId);
46 * Getter for job position name
48 * @return Job position name
50 String getJobPositionName ();
53 * Setter for job position name
55 * @param jobPositionName Job position name
57 void setJobPositionName (final String jobPositionName);
60 * Getter for timestamp when this entry has been created
62 * @return Timestamp when this entry has been created
64 Date getJobPositionCreated ();
67 * Setter for timestamp when this entry has been created
69 * @param jobPositionCreated Timestamp when this entry has been created
71 void setJobPositionCreated (final Date jobPositionCreated);
74 * Getter for timestamp when this entry has been updated
76 * @return Timestamp when this entry has been updated
78 Date getJobPositionUpdated ();
81 * Setter for timestamp when this entry has been updated
83 * @param jobPositionUpdated Timestamp when this entry has been updated
85 void setJobPositionUpdated (final Date jobPositionUpdated);
88 * Getter for job position start
90 * @return Job position start
92 Date getJobPositionStart ();
95 * Setter for job position start
97 * @param jobPositionStart Job position start
99 void setJobPositionStart (final Date jobPositionStart);
102 * Getter for job position status
104 * @return Job position status
106 JobPositionStatus getJobPositionStatus ();
109 * Setter for job position status
111 * @param jobPositionStatus Job position status
113 void setJobPositionStatus (final JobPositionStatus jobPositionStatus);
116 * Getter for when this job position was deleted by user
118 * @return When this job position was deleted by user
120 Date getJobPositionDeleted ();
123 * Setter for when this job position was deleted by user
125 * @param jobPositionDeleted When this job position was deleted by user
127 void setJobPositionDeleted (final Date jobPositionDeleted);
130 * Getter for when this job position has expired
132 * @return When this job position has expired
134 Date getJobPositionExpired ();
137 * Setter for when this job position has expired
139 * @param jobPositionExpired When this job position has expired
141 void setJobPositionExpired (final Date jobPositionExpired);
144 * Getter for when employee was hired for this job position
146 * @return When employee was hired for this job position
148 Date getJobPositionHired ();
151 * Setter for when employee was hired for this job position
153 * @param jobPositionHired When employee was hired for this job position
155 void setJobPositionHired (final Date jobPositionHired);
158 * Getter for user who added this job position
160 * @return User who added this job position
162 User getJobPositionAddedUser ();
165 * Setter for user who added this job position
167 * @param jobPositionAddedUser User who added this job position
169 void setJobPositionAddedUser (final User jobPositionAddedUser);
172 boolean equals (final Object object);