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 */
016package org.kuali.kpme.tklm.api.leave.donation;
017
018import java.math.BigDecimal;
019
020import org.kuali.kpme.core.api.accrualcategory.AccrualCategoryContract;
021import org.kuali.kpme.core.api.bo.HrBusinessObjectContract;
022import org.kuali.kpme.core.api.earncode.EarnCodeContract;
023import org.kuali.rice.kim.api.identity.Person;
024
025/**
026 * <p>LeaveDonationContract interface</p>
027 *
028 */
029public interface LeaveDonationContract extends HrBusinessObjectContract {
030        
031        /**
032         * The EarnCode object associated with the LeaveDonation
033         * 
034         * <p>
035         * earnCodeObject of a LeaveDonation
036         * <p>
037         * 
038         * @return earnCodeObject for LeaveDonation
039         */
040        public EarnCodeContract getEarnCodeObj();
041        
042        /**
043         * The EarnCode name that a leave block indicating the amount donated will be recorded with 
044         * 
045         * <p>
046         * donatedEarnCode of a LeaveDonation
047         * </p>
048         * 
049         * @return donatedEarnCode for LeaveDonation
050         */
051        public String getDonatedEarnCode();     
052
053        /**
054         * The EarnCode name that donation accrual leave block will be recorded with
055         * 
056         * <p>
057         * recipientsEarnCode of a LeaveDonation
058         * </p>
059         * 
060         * @return recipientsEarnCode for LeaveDonation
061         */
062        public String getRecipientsEarnCode();  
063
064        /**
065         * The primary key of a LeaveDonation entry saved in a database
066         * 
067         * <p>
068         * lmLeaveDonationId of a LeaveDonation
069         * <p>
070         * 
071         * @return lmLeaveDonationId for LeaveDonation
072         */
073        public String getLmLeaveDonationId();
074
075        /**
076         * The AccrualCategory name associated with the LeaveDonation
077         * 
078         * <p>
079         * donatedAccrualCategory of a LeaveDonation
080         * </p>
081         * 
082         * @return donatedAccrualCategory for LeaveDonation
083         */
084        public String getDonatedAccrualCategory();      
085
086        /**
087         * The AccrualCategory name the donated Leave will be accrued to
088         * 
089         * <p>
090         * recipientsAccrualCategory of a LeaveDonation
091         * </p>
092         * 
093         * @return recipientsAccrualCategory for LeaveDonation
094         */
095        public String getRecipientsAccrualCategory();   
096
097        /**
098         * The amount of accrued leave to be donated
099         * 
100         * <p>
101         * amountDonated of a LeaveDonation
102         * </p>
103         * 
104         * @return amountDonated for LeaveDonation
105         */
106        public BigDecimal getAmountDonated();
107        
108        /**
109         * The amount of accrued leave to be received
110         * 
111         * <p>
112         * amountReceived of a LeaveDonation
113         * </p>
114         * 
115         * @return amountReceived for LeaveDonation
116         */
117        public BigDecimal getAmountReceived();
118        
119        /**
120         * The principalID of the employee who is donating leave
121         * 
122         * <p>
123         * donorsPrincipalID of a LeaveDonation
124         * </p>
125         * 
126         * @return donorsPrincipalID for LeaveDonation
127         */
128        public String getDonorsPrincipalID();   
129
130        /**
131         * The principalID of the employee who is receiving the donated leave
132         * 
133         * <p>
134         * recipientsPrincipalID of a LeaveDonation
135         * </p>
136         * 
137         * @return recipientsPrincipalID for LeaveDonation
138         */
139        public String getRecipientsPrincipalID();
140
141        /**
142         * The descripton of the LeaveDonation
143         * 
144         * <p>
145         * description of a LeaveDonation
146         * </p>
147         * 
148         * @return description for LeaveDonation
149         */
150        public String getDescription(); 
151
152        /**
153         * The history flag of the LeaveDonation
154         * 
155         * <p>
156         * history flag of a LeaveDonation
157         * <p>
158         * 
159         * @return Y if on, N if not
160         */
161        public Boolean getHistory();
162
163        /**
164         * The Person object associated with the LeaveDonation
165         * 
166         * <p>
167         * personObj of a LeaveDonation
168         * <p>
169         * 
170         * @return personObj for LeaveDonation
171         */     
172        public Person getPersonObj();
173
174        /**
175         * The AccuralCategory object associated with the LeaveDonation
176         * 
177         * <p>
178         * accrualCategoryObj of a LeaveDonation
179         * <p>
180         * 
181         * @return accrualCategoryObj for LeaveDonation
182         */     
183        public AccrualCategoryContract getAccrualCategoryObj();
184
185}