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.tklm.api.leave.summary; 17 18 import java.math.BigDecimal; 19 import java.util.SortedMap; 20 21 22 23 /** 24 * <p>LeaveSummaryRowContract interface</p> 25 * 26 */ 27 public interface LeaveSummaryRowContract { 28 29 /** 30 * The AccrualCategory name associated with the LeaveSummaryRow 31 * 32 * <p> 33 * accrualCategory of a LeaveSummaryRow 34 * <p> 35 * 36 * @return accrualCategory for LeaveSummaryRow 37 */ 38 public String getAccrualCategory(); 39 40 /** 41 * The AccrualCategory id associated with the LeaveSummaryRow 42 * 43 * <p> 44 * accrualCategoryId of a LeaveSummaryRow - used as a very simple means of getting the AccrualCategory object 45 * <p> 46 * 47 * @return accrualCategoryId for LeaveSummaryRow 48 */ 49 public String getAccrualCategoryId(); 50 51 /** 52 * The AccrualCategoryRule id associated with the LeaveSummaryRow 53 * 54 * <p> 55 * accrualCategoryRuleId of a LeaveSummaryRow 56 * <p> 57 * 58 * @return accrualCategoryRuleId for LeaveSummaryRow 59 */ 60 public String getAccrualCategoryRuleId(); 61 62 /** 63 * TODO: Make sure this comment is right 64 * The amount user can carry over to next year associated with the LeaveSummaryRow 65 * 66 * <p> 67 * carryOver of a LeaveSummaryRow 68 * <p> 69 * 70 * @return carryOver for LeaveSummaryRow 71 */ 72 public BigDecimal getCarryOver(); 73 74 /** 75 * The year to date accrued balance associated with the LeaveSummaryRow 76 * 77 * <p> 78 * ytdAccruedBalance of a LeaveSummaryRow 79 * <p> 80 * 81 * @return ytdAccruedBalance for LeaveSummaryRow 82 */ 83 public BigDecimal getYtdAccruedBalance(); 84 85 /** 86 * The year to date approved usage associated with the LeaveSummaryRow 87 * 88 * <p> 89 * ytdApprovedUsage of a LeaveSummaryRow 90 * <p> 91 * 92 * @return ytdApprovedUsage for LeaveSummaryRow 93 */ 94 public BigDecimal getYtdApprovedUsage(); 95 96 /** 97 * The leave balance associated with the LeaveSummaryRow 98 * 99 * <p> 100 * leaveBalance of a LeaveSummaryRow 101 * <p> 102 * 103 * @return leaveBalance for LeaveSummaryRow 104 */ 105 public BigDecimal getLeaveBalance(); 106 107 /** 108 * The pending leave accrual associated with the LeaveSummaryRow 109 * 110 * <p> 111 * pendingLeaveAccrual of a LeaveSummaryRow 112 * <p> 113 * 114 * @return pendingLeaveAccrual for LeaveSummaryRow 115 */ 116 public BigDecimal getPendingLeaveAccrual(); 117 118 /** 119 * The pending leave requests associated with the LeaveSummaryRow 120 * 121 * <p> 122 * pendingLeaveRequests of a LeaveSummaryRow 123 * <p> 124 * 125 * @return pendingLeaveRequests for LeaveSummaryRow 126 */ 127 public BigDecimal getPendingLeaveRequests(); 128 129 /** 130 * The pending leave balance associated with the LeaveSummaryRow 131 * 132 * <p> 133 * pendingLeaveBalance of a LeaveSummaryRow 134 * <p> 135 * 136 * @return pendingLeaveBalance for LeaveSummaryRow 137 */ 138 public BigDecimal getPendingLeaveBalance(); 139 140 /** 141 * The pending available usage associated with the LeaveSummaryRow 142 * 143 * <p> 144 * pendingAvailableUsage of a LeaveSummaryRow 145 * <p> 146 * 147 * @return pendingAvailableUsage for LeaveSummaryRow 148 */ 149 public BigDecimal getPendingAvailableUsage(); 150 151 /** 152 * The usage limit associated with the LeaveSummaryRow 153 * 154 * <p> 155 * usageLimit of a LeaveSummaryRow 156 * <p> 157 * 158 * @return usageLimit for LeaveSummaryRow 159 */ 160 public BigDecimal getUsageLimit(); 161 162 /** 163 * The fmla usage associated with the LeaveSummaryRow 164 * 165 * <p> 166 * fmlaUsage of a LeaveSummaryRow 167 * <p> 168 * 169 * @return fmlaUsage for LeaveSummaryRow 170 */ 171 public BigDecimal getFmlaUsage(); 172 173 /** 174 * The accrued balance associated with the LeaveSummaryRow 175 * 176 * <p> 177 * carryOver + ytdAccruedBalance - ytdApprovedUsage 178 * <p> 179 * 180 * @return accrued balance for LeaveSummaryRow 181 */ 182 public BigDecimal getAccruedBalance(); 183 184 /** 185 * The flag that indicates if accrued balance is eligible for transfer 186 * 187 * <p> 188 * transferable flag of a ShiftDifferentialRule 189 * </p> 190 * 191 * @return Y if accrued balance is eligible for transfer, N if not 192 */ 193 public boolean isTransferable(); 194 195 /** 196 * The flag that indicates if accrued balance is eligible for payout 197 * 198 * <p> 199 * payoutable flag of a ShiftDifferentialRule 200 * </p> 201 * 202 * @return Y if accrued balance is eligible for payout, N if not 203 */ 204 public boolean isPayoutable(); 205 206 /** 207 * The map of prior year usage associated with the LeaveSummaryRow 208 * 209 * <p> 210 * priorYearsUsage of a LeaveSummaryRow 211 * <p> 212 * 213 * @return priorYearsUsage for LeaveSummaryRow 214 */ 215 public SortedMap<String, BigDecimal> getPriorYearsUsage(); 216 217 /** 218 * The map of prior years accrued total associated with the LeaveSummaryRow 219 * 220 * <p> 221 * priorYearsTotalAccrued of a LeaveSummaryRow 222 * <p> 223 * 224 * @return priorYearsTotalAccrued for LeaveSummaryRow 225 */ 226 public SortedMap<String, BigDecimal> getPriorYearsTotalAccrued(); 227 228 /** 229 * The max carry over associated with the LeaveSummaryRow 230 * 231 * <p> 232 * maxCarryOver of a LeaveSummaryRow 233 * <p> 234 * 235 * @return maxCarryOver for LeaveSummaryRow 236 */ 237 public BigDecimal getMaxCarryOver(); 238 239 /** 240 * TODO: Put a better comment 241 * The infractingLeaveBlockId associated with the LeaveSummaryRow 242 * 243 * <p> 244 * infractingLeaveBlockId of a LeaveSummaryRow 245 * <p> 246 * 247 * @return infractingLeaveBlockId for LeaveSummaryRow 248 */ 249 public String getInfractingLeaveBlockId(); 250 251 }