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