1 /** 2 * Copyright 2004-2015 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.tklm.api.time.rules.lunch.department; 17 18 import java.math.BigDecimal; 19 20 import org.kuali.kpme.core.api.bo.HrBusinessObjectContract; 21 import org.kuali.kpme.core.api.department.DepartmentContract; 22 import org.kuali.kpme.core.api.job.JobContract; 23 import org.kuali.kpme.core.api.workarea.WorkAreaContract; 24 import org.kuali.rice.kim.api.identity.Person; 25 26 /** 27 * <p>DeptLunchRuleContract interface</p> 28 * 29 */ 30 public interface DeptLunchRuleContract extends HrBusinessObjectContract { 31 32 /** 33 * The principal associated with the DeptLunchRule 34 * 35 * <p> 36 * If a principal id is defined, only this specific employee will be subject to the automatic lunch deduction. 37 * <p> 38 * 39 * @return principal for DeptLunchRule 40 */ 41 public Person getPrincipal(); 42 43 /** 44 * The Job object associated with the DeptLunchRule 45 * 46 * <p> 47 * If job # is defined, only this specific employee's job will be subject to the automatic lunch deduction. 48 * <p> 49 * 50 * @return job for DeptLunchRule 51 */ 52 public JobContract getJob(); 53 54 /** 55 * The WorkArea object associated with the DeptLunchRule 56 * 57 * <p> 58 * If a work area is defined, only entries associated with a job in this work area will be subject to the automatic lunch deduction. 59 * <p> 60 * 61 * @return workAreaObj for DeptLunchRule 62 */ 63 public WorkAreaContract getWorkAreaObj(); 64 65 /** 66 * The Department object associated with the DeptLunchRule 67 * 68 * <p> 69 * If a department is defined, only entries associated with a job in this department will be subject to the automatic lunch deduction. 70 * <p> 71 * 72 * @return departmentObj for DeptLunchRule 73 */ 74 public DepartmentContract getDepartmentObj(); 75 76 /** 77 * The work area associated with the DeptLunchRule 78 * 79 * <p> 80 * If a work area is defined, only entries associated with a job in this work area will be subject to the automatic lunch deduction. 81 * <p> 82 * 83 * @return workArea for DeptLunchRule 84 */ 85 public Long getWorkArea(); 86 87 /** 88 * The principalId associated with the DeptLunchRule 89 * 90 * <p> 91 * If a principal id is defined, only this specific employee will be subject to the automatic lunch deduction. 92 * <p> 93 * 94 * @return principalId for DeptLunchRule 95 */ 96 public String getPrincipalId(); 97 98 /** 99 * The jobNumber associated with the DeptLunchRule 100 * 101 * <p> 102 * If job # is defined, only this specific employee's job will be subject to the automatic lunch deduction. 103 * <p> 104 * 105 * @return jobNumber for DeptLunchRule 106 */ 107 public Long getJobNumber(); 108 109 /** 110 * User which set up the lunch rule 111 * 112 * <p> 113 * userPrincipalId of a DeptLunchRule 114 * <p> 115 * 116 * @return userPrincipalId for DeptLunchRule 117 */ 118 public String getUserPrincipalId(); 119 120 /** 121 * The primary key of a DeptLunchRule entry saved in a database 122 * 123 * <p> 124 * tkTimeCollectionRuleId of a DeptLunchRule 125 * <p> 126 * 127 * @return tkTimeCollectionRuleId for DeptLunchRule 128 */ 129 public String getTkDeptLunchRuleId(); 130 131 /** 132 * The dept associated with the DeptLunchRule 133 * 134 * <p> 135 * If a department is defined, only entries associated with a job in this department will be subject to the automatic lunch deduction. 136 * <p> 137 * 138 * @return dept for DeptLunchRule 139 */ 140 public String getDept(); 141 142 /** 143 * The amount of minutes to be deducted as a lunch 144 * 145 * <p> 146 * deductionMins of a DeptLunchRule 147 * <p> 148 * 149 * @return deductionMins for DeptLunchRule 150 */ 151 public BigDecimal getDeductionMins(); 152 153 /** 154 * The number of hours which must be met in order for the deduction to occur 155 * 156 * <p> 157 * shiftHours of a DeptLunchRule 158 * <p> 159 * 160 * @return shiftHours for DeptLunchRule 161 */ 162 public BigDecimal getShiftHours(); 163 164 /** 165 * The id of the WorkArea object associated with the DeptLunchRule 166 * 167 * <p> 168 * tkWorkAreaId of a DeptLunchRule 169 * <p> 170 * 171 * @return tkWorkAreaId for DeptLunchRule 172 */ 173 public String getTkWorkAreaId(); 174 175 /** 176 * The id of the Department object associated with the DeptLunchRule 177 * 178 * <p> 179 * hrDeptId of a DeptLunchRule 180 * <p> 181 * 182 * @return hrDeptId for DeptLunchRule 183 */ 184 public String getHrDeptId(); 185 186 /** 187 * The id of the Job object associated with the DeptLunchRule 188 * 189 * <p> 190 * hrJobId of a DeptLunchRule 191 * <p> 192 * 193 * @return hrJobId for DeptLunchRule 194 */ 195 public String getHrJobId(); 196 197 /** 198 * The history flag of the DeptLunchRule 199 * 200 * <p> 201 * history flag of a DeptLunchRule 202 * <p> 203 * 204 * @return Y if on, N if not 205 */ 206 public boolean isHistory(); 207 208 }