View Javadoc
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 }