View Javadoc
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 }