001 /** 002 * Copyright 2004-2014 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016 package org.kuali.kpme.tklm.api.leave.timeoff; 017 018 import java.math.BigDecimal; 019 import java.util.Date; 020 021 import org.joda.time.LocalDate; 022 import org.kuali.kpme.core.api.accrualcategory.AccrualCategoryContract; 023 import org.kuali.kpme.core.api.bo.HrBusinessObjectContract; 024 import org.kuali.kpme.core.api.earncode.EarnCodeContract; 025 import org.kuali.kpme.core.api.leaveplan.LeavePlanContract; 026 import org.kuali.kpme.core.api.location.LocationContract; 027 028 /** 029 * <p>SystemScheduledTimeOffContract interface</p> 030 * 031 */ 032 public interface SystemScheduledTimeOffContract extends HrBusinessObjectContract { 033 034 /** 035 * The primary key of a SystemScheduledTimeOff entry saved in a database 036 * 037 * <p> 038 * lmSystemScheduledTimeOffId of a SystemScheduledTimeOff 039 * <p> 040 * 041 * @return lmSystemScheduledTimeOffId for SystemScheduledTimeOff 042 */ 043 public String getLmSystemScheduledTimeOffId(); 044 045 /** 046 * The LeavePlan name associated with the SystemScheduledTimeOff 047 * 048 * <p> 049 * leavePlan of a SystemScheduledTimeOff 050 * <p> 051 * 052 * @return leavePlan for SystemScheduledTimeOff 053 */ 054 public String getLeavePlan(); 055 056 /** 057 * The AccrualCategory name associated with the SystemScheduledTimeOff 058 * 059 * <p> 060 * accrualCategory of a SystemScheduledTimeOff 061 * <p> 062 * 063 * @return accrualCategory for SystemScheduledTimeOff 064 */ 065 public String getAccrualCategory(); 066 067 /** 068 * The date the holiday is available to use 069 * 070 * <p> 071 * accruedDate of a SystemScheduledTimeOff 072 * <p> 073 * 074 * @return accruedDate for SystemScheduledTimeOff 075 */ 076 public Date getAccruedDate(); 077 078 /** 079 * The date the holiday is available to use 080 * 081 * <p> 082 * accruedDate of a SystemScheduledTimeOff 083 * <p> 084 * 085 * @return accruedDate in LocalDate format for SystemScheduledTimeOff 086 */ 087 public LocalDate getAccruedLocalDate(); 088 089 /** 090 * The date of the ScheduledTimeOff that is put on the calendar 091 * 092 * <p> 093 * scheduledTimeOffDate of a SystemScheduledTimeOff 094 * <p> 095 * 096 * @return scheduledTimeOffDate in Date format for SystemScheduledTimeOff 097 */ 098 public Date getScheduledTimeOffDate(); 099 100 /** 101 * The date of the ScheduledTimeOff that is put on the calendar 102 * 103 * <p> 104 * scheduledTimeOffDate of a SystemScheduledTimeOff 105 * <p> 106 * 107 * @return scheduledTimeOffDate in LocalDate format for SystemScheduledTimeOff 108 */ 109 public LocalDate getScheduledTimeOffLocalDate(); 110 111 /** 112 * The Location name associated with the SystemScheduledTimeOff 113 * 114 * <p> 115 * location of a SystemScheduledTimeOff 116 * <p> 117 * 118 * @return location for SystemScheduledTimeOff 119 */ 120 public String getLocation(); 121 122 /** 123 * The description of the SystemScheduledTimeOff 124 * 125 * <p> 126 * description of a SystemScheduledTimeOff 127 * <p> 128 * 129 * @return desc for SystemScheduledTimeOff 130 */ 131 public String getDescr(); 132 133 /** 134 * The amount of leave time taken for the ScheduledTimeOff 135 * 136 * <p> 137 * amountofTime of a SystemScheduledTimeOff 138 * <p> 139 * 140 * @return amountofTime for SystemScheduledTimeOff 141 */ 142 public BigDecimal getAmountofTime(); 143 144 /** 145 * Indicate how time can be banked/accrued 146 * 147 * <p> 148 * unusedTime of a SystemScheduledTimeOff 149 * <p> 150 * 151 * @return unusedTime for SystemScheduledTimeOff 152 */ 153 public String getUnusedTime(); 154 155 /** 156 * The conversion rate to be used to transfer the unused Amount of Time 157 * 158 * <p> 159 * unusedTime of a SystemScheduledTimeOff 160 * <p> 161 * 162 * @return unusedTime for SystemScheduledTimeOff 163 */ 164 public BigDecimal getTransferConversionFactor(); 165 166 /** 167 * TODO: Make sure this comment is right 168 * Indicate if the ScheduledTimeOff Date allows employees to get higher rate of pay for working it 169 * 170 * <p> 171 * premiumHoliday of a SystemScheduledTimeOff 172 * <p> 173 * 174 * @return Y if the ScheduledTimeOff Date allows employees to get higher rate of pay, N if not 175 */ 176 public String getPremiumHoliday(); 177 178 /** 179 * The LeavePlan object associated with the SystemScheduledTimeOff 180 * 181 * <p> 182 * leavePlanObject of a SystemScheduledTimeOff 183 * <p> 184 * 185 * @return leavePlanObj for SystemScheduledTimeOff 186 */ 187 public LeavePlanContract getLeavePlanObj(); 188 189 /** 190 * The AccrualCategory object associated with the SystemScheduledTimeOff 191 * 192 * <p> 193 * accrualCategoryObj of a SystemScheduledTimeOff 194 * <p> 195 * 196 * @return accrualCategoryObj for SystemScheduledTimeOff 197 */ 198 public AccrualCategoryContract getAccrualCategoryObj(); 199 200 /** 201 * The EarnCode name associated with the SystemScheduledTimeOff 202 * 203 * <p> 204 * earnCode of a SystemScheduledTimeOff 205 * <p> 206 * 207 * @return earnCode for SystemScheduledTimeOff 208 */ 209 public String getEarnCode(); 210 211 /** 212 * The EarnCode name used to transfer the unused time 213 * 214 * <p> 215 * transfertoEarnCode of a SystemScheduledTimeOff 216 * <p> 217 * 218 * @return transfertoEarnCode for SystemScheduledTimeOff 219 */ 220 public String getTransfertoEarnCode(); 221 222 /** 223 * The EarnCode object associated with the SystemScheduledTimeOff 224 * 225 * <p> 226 * earnCodeObject of a SystemScheduledTimeOff 227 * <p> 228 * 229 * @return earnCodeObject for SystemScheduledTimeOff 230 */ 231 public EarnCodeContract getEarnCodeObj(); 232 233 /** 234 * The Location object associated with the SystemScheduledTimeOff 235 * 236 * <p> 237 * locationObj of a SystemScheduledTimeOff 238 * <p> 239 * 240 * @return locationObj for SystemScheduledTimeOff 241 */ 242 public LocationContract getLocationObj(); 243 244 /** 245 * The history flag of the SystemScheduledTimeOff 246 * 247 * <p> 248 * history flag of a SystemScheduledTimeOff 249 * <p> 250 * 251 * @return Y if on, N if not 252 */ 253 public Boolean getHistory(); 254 255 }