1 /**
2 * Copyright 2004-2013 The Kuali Foundation
3 *
4 * Licensed under the Educational Community License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
7 *
8 * http://www.opensource.org/licenses/ecl2.php
9 *
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
15 */
16 package org.kuali.kpme.core.api.assignment;
17
18 import java.util.List;
19
20 import org.kuali.kpme.core.api.assignment.account.AssignmentAccountContract;
21 import org.kuali.kpme.core.api.bo.HrBusinessObjectContract;
22 import org.kuali.kpme.core.api.job.JobContract;
23 import org.kuali.kpme.core.api.task.TaskContract;
24 import org.kuali.kpme.core.api.workarea.WorkAreaContract;
25 import org.kuali.rice.kim.api.identity.Person;
26
27 /**
28 * <p>AssignmentContract interface.</p>
29 *
30 */
31 public interface AssignmentContract extends HrBusinessObjectContract {
32
33 /**
34 * List of AssignmentAccounts associated with this Assignment
35 *
36 * <p>
37 * assignmentAccounts of Assignment
38 * </p>
39 *
40 * @return assignmentAccounts for Assignment
41 */
42 public List<? extends AssignmentAccountContract> getAssignmentAccounts();
43
44 /**
45 * Identifier of the employee associated with this Assignment
46 *
47 * <p>
48 * principalId of Assignment
49 * </p>
50 *
51 * @return principalId for Assignment
52 */
53 public String getPrincipalId() ;
54
55 /**
56 * Name of the employee associated with this Assignment
57 *
58 * <p>
59 * employee name of Assignment
60 * </p>
61 *
62 * @return employee name for Assignment
63 */
64 public String getName();
65
66 /**
67 * Job object associated with this Assignment
68 *
69 * <p>
70 * job of Assignment
71 * </p>
72 *
73 * @return job for Assignment
74 */
75 public JobContract getJob();
76
77 /**
78 * Job number of Job object associated with this Assignment
79 *
80 * <p>
81 * jobNumber of Assignment
82 * </p>
83 *
84 * @return jobNumber for Assignment
85 */
86 public Long getJobNumber();
87
88 /**
89 * Primary key of Job object associated with this Assignment
90 *
91 * <p>
92 * hrJobId of Assignment
93 * </p>
94 *
95 * @return hrJobId for Assignment
96 */
97 public String getHrJobId();
98
99 /**
100 * Provides us with the text to display to the user for clock actions on
101 * this assignment.
102 *
103 * <p>
104 * clockText of Assignment
105 * </p>
106 *
107 * @return clockText for Assignment
108 */
109 public String getClockText();
110
111 /**
112 * The Primary Key of an Assignment entry saved in a database
113 *
114 * <p>
115 * tkAssignmentId of Assignment
116 * </p>
117 *
118 * @return tkAssignmentId for Assignment
119 */
120 public String getTkAssignmentId();
121
122 /**
123 * Department based on the Job object associated with the Assignment
124 *
125 * <p>
126 * dept of Assignment
127 * </p>
128 *
129 * @return dept for Assignment
130 */
131 public String getDept();
132
133 /**
134 * The work area for recording time which also drives approval routing.
135 * Valid values based on the department on the job.
136 *
137 * <p>
138 * workAreaObj of Assignment
139 * </p>
140 *
141 * @return workAreaObj for Assignment
142 */
143 public WorkAreaContract getWorkAreaObj();
144
145 /**
146 * WorkArea field of WorkArea object associated with the Assignment
147 *
148 * <p>
149 * workArea of Assignment
150 * </p>
151 *
152 * @return workArea for Assignment
153 */
154 public Long getWorkArea();
155
156 /**
157 * Task field of Task object associated with the Assignment
158 *
159 * <p>
160 * task of Assignment
161 * </p>
162 *
163 * @return task for Assignment
164 */
165 public Long getTask();
166
167 /**
168 * Task field of Task object associated with the Assignment
169 *
170 * <p>
171 * task of Assignment
172 * </p>
173 *
174 * @return task for Assignment
175 */
176 public String getAssignmentDescription() ;
177
178 /**
179 * Employee associated with the Assignment
180 *
181 * <p>
182 * principal of Assignment
183 * </p>
184 *
185 * @return principal for Assignment
186 */
187 public Person getPrincipal();
188
189 /**
190 * Task object associated with the Assignment
191 *
192 * <p>
193 * taskObj of Assignment
194 * </p>
195 *
196 * @return taskObj for Assignment
197 */
198 public TaskContract getTaskObj();
199
200 /**
201 * History flag for Assignment lookups
202 *
203 * <p>
204 * history of Assignment
205 * </p>
206 *
207 * @return true if want to show history, false if not
208 */
209 public Boolean getHistory();
210
211 /**
212 * CalendarGroup associated with the Assignment
213 *
214 * <p>
215 * calGroup of Assignment
216 * </p>
217 *
218 * @return calGroup for Assignment
219 */
220 public String getCalGroup();
221
222 /**
223 * String combination job, workarea and task of AssignmentDescriptionKey build with the Assignment
224 *
225 * <p>
226 * assignmentKey of Assignment
227 * </p>
228 *
229 * @return assignmentKey for Assignment
230 */
231 public String getAssignmentKey();
232 }