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 }