View Javadoc

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 }