1 /**
2 * Copyright 2004-2014 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 org.kuali.kpme.core.api.assignment.account.AssignmentAccountContract;
19 import org.kuali.kpme.core.api.job.JobContract;
20 import org.kuali.kpme.core.api.mo.KpmeEffectiveKeyedDataTransferObject;
21 import org.kuali.kpme.core.api.task.TaskContract;
22 import org.kuali.kpme.core.api.util.HrApiConstants;
23 import org.kuali.kpme.core.api.workarea.WorkAreaContract;
24
25 import java.util.List;
26
27 /**
28 * <p>AssignmentContract interface.</p>
29 *
30 */
31 public interface AssignmentContract extends KpmeEffectiveKeyedDataTransferObject {
32
33 public static final String CACHE_NAME = HrApiConstants.CacheNamespace.NAMESPACE_PREFIX + "Assignment";
34
35 /**
36 * List of AssignmentAccounts associated with this Assignment
37 *
38 * <p>
39 * assignmentAccounts of Assignment
40 * </p>
41 *
42 * @return assignmentAccounts for Assignment
43 */
44 public List<? extends AssignmentAccountContract> getAssignmentAccounts();
45
46 /**
47 * Identifier of the employee associated with this Assignment
48 *
49 * <p>
50 * principalId of Assignment
51 * </p>
52 *
53 * @return principalId for Assignment
54 */
55 public String getPrincipalId() ;
56
57 /**
58 * Name of the employee associated with this Assignment
59 *
60 * <p>
61 * employee name of Assignment
62 * </p>
63 *
64 * @return employee name for Assignment
65 */
66 public String getName();
67
68 /**
69 * Job object associated with this Assignment
70 *
71 * <p>
72 * job of Assignment
73 * </p>
74 *
75 * @return job for Assignment
76 */
77 public JobContract getJob();
78
79 /**
80 * Job number of Job object associated with this Assignment
81 *
82 * <p>
83 * jobNumber of Assignment
84 * </p>
85 *
86 * @return jobNumber for Assignment
87 */
88 public Long getJobNumber();
89
90
91 /**
92 * Provides us with the text to display to the user for clock actions on
93 * this assignment.
94 *
95 * <p>
96 * clockText of Assignment
97 * </p>
98 *
99 * @return clockText for Assignment
100 */
101 public String getClockText();
102
103 /**
104 * The Primary Key of an Assignment entry saved in a database
105 *
106 * <p>
107 * tkAssignmentId of Assignment
108 * </p>
109 *
110 * @return tkAssignmentId for Assignment
111 */
112 public String getTkAssignmentId();
113
114 /**
115 * Department based on the Job object associated with the Assignment
116 *
117 * <p>
118 * dept of Assignment
119 * </p>
120 *
121 * @return dept for Assignment
122 */
123 public String getDept();
124
125 /**
126 * The work area for recording time which also drives approval routing.
127 * Valid values based on the department on the job.
128 *
129 * <p>
130 * workAreaObj of Assignment
131 * </p>
132 *
133 * @return workAreaObj for Assignment
134 */
135 public WorkAreaContract getWorkAreaObj();
136
137 /**
138 * WorkArea field of WorkArea object associated with the Assignment
139 *
140 * <p>
141 * workArea of Assignment
142 * </p>
143 *
144 * @return workArea for Assignment
145 */
146 public Long getWorkArea();
147
148 /**
149 * Task field of Task object associated with the Assignment
150 *
151 * <p>
152 * task of Assignment
153 * </p>
154 *
155 * @return task for Assignment
156 */
157 public Long getTask();
158
159 /**
160 * Task field of Task object associated with the Assignment
161 *
162 * <p>
163 * task of Assignment
164 * </p>
165 *
166 * @return task for Assignment
167 */
168 public String getAssignmentDescription() ;
169
170
171 /**
172 * Task object associated with the Assignment
173 *
174 * <p>
175 * taskObj of Assignment
176 * </p>
177 *
178 * @return taskObj for Assignment
179 */
180 public TaskContract getTaskObj();
181
182 /**
183 * CalendarGroup associated with the Assignment
184 *
185 * <p>
186 * calGroup of Assignment
187 * </p>
188 *
189 * @return calGroup for Assignment
190 */
191 public String getCalGroup();
192
193 /**
194 * String combination job, workarea and task of AssignmentDescriptionKey build with the Assignment
195 *
196 * <p>
197 * assignmentKey of Assignment
198 * </p>
199 *
200 * @return assignmentKey for Assignment
201 */
202 public String getAssignmentKey();
203
204 public boolean isPrimaryAssign();
205
206 }