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.leave.payout; 17 18 import java.math.BigDecimal; 19 import java.util.List; 20 21 import org.kuali.kpme.core.api.accrualcategory.AccrualCategoryContract; 22 import org.kuali.kpme.core.api.bo.HrBusinessObjectContract; 23 import org.kuali.kpme.core.api.earncode.EarnCodeContract; 24 import org.kuali.kpme.core.api.principal.PrincipalHRAttributesContract; 25 import org.kuali.kpme.tklm.api.leave.block.LeaveBlockContract; 26 import org.kuali.rice.kim.api.identity.Person; 27 28 /** 29 * <p>LeaveDonationContract interface</p> 30 * 31 */ 32 public interface LeavePayoutContract extends HrBusinessObjectContract { 33 34 /** 35 * The EarnCode name associated with the LeavePayout 36 * 37 * <p> 38 * earnCode of a LeavePayout 39 * </p> 40 * 41 * @return earnCode for LeavePayout 42 */ 43 public String getEarnCode(); 44 45 /** 46 * The EarnCode object associated with the LeavePayout 47 * 48 * <p> 49 * earnCodeObject of a LeavePayout 50 * <p> 51 * 52 * @return earnCodeObject for LeavePayout 53 */ 54 public EarnCodeContract getEarnCodeObj(); 55 56 /** 57 * The principalID of the employee whom accruals are payed out to 58 * 59 * <p> 60 * principalId of a LeavePayout 61 * </p> 62 * 63 * @return principalId for LeavePayout 64 */ 65 public String getPrincipalId(); 66 67 /** 68 * The Person object associated with the LeavePayout 69 * 70 * <p> 71 * principal of a LeavePayout 72 * <p> 73 * 74 * @return principal for LeavePayout 75 */ 76 public Person getPrincipal(); 77 78 /** 79 * The principalName of the employee 80 * 81 * <p> 82 * principal.getName() of a LeavePayout 83 * <p> 84 * 85 * @return principal.getName() for LeavePayout 86 */ 87 public String getName(); 88 89 /** 90 * The LeavePlan name of the PrincipalHRAttributes of the employee 91 * 92 * <p> 93 * principalHRAttrObj.getLeavePlan() of a LeavePayout 94 * <p> 95 * 96 * @return principalHRAttrObj.getLeavePlan() for LeavePayout 97 */ 98 public String getLeavePlan(); 99 100 /** 101 * The AccrualCategory name that leave payout is made from 102 * 103 * <p> 104 * fromAccrualCategory of a LeavePayout 105 * </p> 106 * 107 * @return fromAccrualCategory for LeavePayout 108 */ 109 public String getFromAccrualCategory(); 110 111 /** 112 * The descripton of the LeavePayout 113 * 114 * <p> 115 * description of a LeavePayout 116 * </p> 117 * 118 * @return description for LeavePayout 119 */ 120 public String getDescription(); 121 122 /** 123 * The amount of accrued leave to payout 124 * 125 * <p> 126 * payoutAmount of a LeavePayout 127 * </p> 128 * 129 * @return payoutAmount for LeavePayout 130 */ 131 public BigDecimal getPayoutAmount(); 132 133 /** 134 * The computed amount of accrued leave that will be forfeited 135 * 136 * <p> 137 * forfeitedAmount of a LeavePayout 138 * </p> 139 * 140 * @return forfeitedAmount for LeavePayout 141 */ 142 public BigDecimal getForfeitedAmount(); 143 144 /** 145 * The AccuralCategory object associated with the LeavePayout 146 * 147 * <p> 148 * accrualCategoryObj of a LeavePayout 149 * <p> 150 * 151 * @return accrualCategoryObj for LeavePayout 152 */ 153 public AccrualCategoryContract getFromAccrualCategoryObj(); 154 155 /** 156 * The primary key of a LeavePayout entry saved in a database 157 * 158 * <p> 159 * hrEarnCodeId of a LeavePayout 160 * <p> 161 * 162 * @return lmLeavePlanId for LeavePayout 163 */ 164 public String getLmLeavePayoutId(); 165 166 /** 167 * The PrincipalHRAttributes object associated with the LeavePayout 168 * 169 * <p> 170 * principalHRAttrObj of a LeavePayout 171 * <p> 172 * 173 * @return principalHRAttrObj for LeavePayout 174 */ 175 public PrincipalHRAttributesContract getPrincipalHRAttrObj(); 176 177 /** 178 * The AccrualCategoryRule name associated with the LeavePayout 179 * 180 * <p> 181 * accrualCategoryRule of a LeavePayout 182 * <p> 183 * 184 * @return accrualCategoryRule for LeavePayout 185 */ 186 public String getAccrualCategoryRule(); 187 188 /** 189 * The forfeitedLeaveBlockId associated with the LeavePayout 190 * 191 * <p> 192 * forfeitedLeaveBlockId of a LeavePayout 193 * <p> 194 * 195 * @return forfeitedLeaveBlockId for LeavePayout 196 */ 197 public String getForfeitedLeaveBlockId(); 198 199 /** 200 * The payoutFromLeaveBlockId associated with the LeavePayout 201 * 202 * <p> 203 * payoutFromLeaveBlockId of a LeavePayout 204 * <p> 205 * 206 * @return payoutFromLeaveBlockId for LeavePayout 207 */ 208 public String getPayoutLeaveBlockId(); 209 210 /** 211 * The payoutLeaveBlockId associated with the LeavePayout 212 * 213 * <p> 214 * payoutLeaveBlockId of a LeavePayout 215 * <p> 216 * 217 * @return payoutLeaveBlockId for LeavePayout 218 */ 219 public String getPayoutFromLeaveBlockId(); 220 221 /** 222 * The list of LeaveBlock objects associated with the LeavePayout 223 * 224 * <p> 225 * a list of LeaveBlock objects 226 * <p> 227 * 228 * @return a list that contains LeaveBlock objects based on forfeitedLeaveBlockId, payoutLeaveBlockId, and payoutFromLeaveBlockId 229 */ 230 public List<? extends LeaveBlockContract> getLeaveBlocks(); 231 232 /** 233 * The leaveCalendarDocumentId associated with the LeavePayout 234 * 235 * <p> 236 * leaveCalendarDocumentId of a LeavePayout 237 * <p> 238 * 239 * @return leaveCalendarDocumentId for LeavePayout 240 */ 241 public String getLeaveCalendarDocumentId(); 242 243 /** 244 * The status associated with the LeavePayout 245 * 246 * <p> 247 * status of a LeavePayout 248 * <p> 249 * 250 * @return status for LeavePayout 251 */ 252 public String getStatus(); 253 254 /** 255 * The documentHeaderId associated with the LeavePayout 256 * 257 * <p> 258 * documentHeaderId of a LeavePayout 259 * <p> 260 * 261 * @return documentHeaderId for LeavePayout 262 */ 263 public String getDocumentHeaderId(); 264 265 }