001    /*
002     * Copyright 2011 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.kfs.module.endow.businessobject;
017    
018    import java.sql.Date;
019    import java.util.LinkedHashMap;
020    
021    import org.kuali.kfs.module.endow.EndowPropertyConstants;
022    import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
023    import org.kuali.rice.kns.util.KualiDecimal;
024    import org.kuali.rice.kns.util.KualiInteger;
025    
026    /**
027     * This KemidFee class provides infrormation about fees that may be charged against the KEMID.
028     */
029    public class KemidFee extends PersistableBusinessObjectBase {
030    
031        private String kemid;
032        private String feeMethodCode;
033        private KualiInteger feeMethodSeq;
034        private String chargeFeeToKemid;
035        private KualiDecimal percentOfFeeChargedToIncome;
036        private KualiDecimal percentOfFeeChargedToPrincipal;
037        private boolean accrueFees;
038        private KualiDecimal totalAccruedFees;
039        private boolean waiveFees;
040        private KualiDecimal totalWaivedFeesThisFiscalYear;
041        private KualiDecimal totalWaivedFees;
042        private Date feeStartDate;
043        private Date feeEndDate;
044    
045        private KEMID kemidObjRef;
046        private FeeMethod feeMethod;
047        private KEMID chargeFeeToKemidObjRef;
048    
049        /**
050         * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
051         */
052        @Override
053        protected LinkedHashMap toStringMapper() {
054            LinkedHashMap<String, String> m = new LinkedHashMap<String, String>();
055            m.put(EndowPropertyConstants.KEMID, this.kemid);
056            m.put(EndowPropertyConstants.KEMID_FEE_SEQ, String.valueOf(this.feeMethodSeq));
057            m.put(EndowPropertyConstants.KEMID_FEE_MTHD_CD, this.feeMethodCode);
058            return m;
059        }
060    
061        /**
062         * Gets the accrueFees.
063         * 
064         * @return accrueFees
065         */
066        public boolean isAccrueFees() {
067            return accrueFees;
068        }
069    
070        /**
071         * Sets the accrueFees.
072         * 
073         * @param accrueFees
074         */
075        public void setAccrueFees(boolean accrueFees) {
076            this.accrueFees = accrueFees;
077        }
078    
079        /**
080         * Gets the chargeFeeToKemid.
081         * 
082         * @return chargeFeeToKemid
083         */
084        public String getChargeFeeToKemid() {
085            return chargeFeeToKemid;
086        }
087    
088        /**
089         * Sets the chargeFeeToKemid.
090         * 
091         * @param chargeFeeToKemid
092         */
093        public void setChargeFeeToKemid(String chargeFeeToKemid) {
094            this.chargeFeeToKemid = chargeFeeToKemid;
095        }
096    
097        /**
098         * Gets the chargeFeeToKemidObjRef.
099         * 
100         * @return chargeFeeToKemidObjRef
101         */
102        public KEMID getChargeFeeToKemidObjRef() {
103            return chargeFeeToKemidObjRef;
104        }
105    
106        /**
107         * Sets the chargeFeeToKemidObjRef.
108         * 
109         * @param chargeFeeToKemidObjRef
110         */
111        public void setChargeFeeToKemidObjRef(KEMID chargeFeeToKemidObjRef) {
112            this.chargeFeeToKemidObjRef = chargeFeeToKemidObjRef;
113        }
114    
115        /**
116         * Gets the feeEndDate.
117         * 
118         * @return feeEndDate
119         */
120        public Date getFeeEndDate() {
121            return feeEndDate;
122        }
123    
124        /**
125         * Sets the feeEndDate.
126         * 
127         * @param feeEndDate
128         */
129        public void setFeeEndDate(Date feeEndDate) {
130            this.feeEndDate = feeEndDate;
131        }
132    
133        /**
134         * Gets the feeMethodCode.
135         * 
136         * @return feeMethodCode
137         */
138        public String getFeeMethodCode() {
139            return feeMethodCode;
140        }
141    
142        /**
143         * Sets the feeMethodCode.
144         * 
145         * @param feeMethodCode
146         */
147        public void setFeeMethodCode(String feeMethodCode) {
148            this.feeMethodCode = feeMethodCode;
149        }
150    
151        /**
152         * Gets the feeMethod.
153         * 
154         * @return feeMethod
155         */
156        public FeeMethod getFeeMethod() {
157            return feeMethod;
158        }
159    
160        /**
161         * Sets the feeMethod.
162         * 
163         * @param feeMethod
164         */
165        public void setFeeMethod(FeeMethod feeMethod) {
166            this.feeMethod = feeMethod;
167        }
168    
169        /**
170         * Gets the feeMethodSeq.
171         * 
172         * @return feeMethodSeq
173         */
174        public KualiInteger getFeeMethodSeq() {
175            return feeMethodSeq;
176        }
177    
178        /**
179         * Sets the feeMethodSeq.
180         * 
181         * @param feeMethodSeq
182         */
183        public void setFeeMethodSeq(KualiInteger feeMethodSeq) {
184            this.feeMethodSeq = feeMethodSeq;
185        }
186    
187        /**
188         * Gets the feeStartDate.
189         * 
190         * @return feeStartDate
191         */
192        public Date getFeeStartDate() {
193            return feeStartDate;
194        }
195    
196        /**
197         * Sets the feeStartDate.
198         * 
199         * @param feeStartDate
200         */
201        public void setFeeStartDate(Date feeStartDate) {
202            this.feeStartDate = feeStartDate;
203        }
204    
205        /**
206         * Gets the kemid.
207         * 
208         * @return kemid
209         */
210        public String getKemid() {
211            return kemid;
212        }
213    
214        /**
215         * Sets the kemid
216         * 
217         * @param kemid
218         */
219        public void setKemid(String kemid) {
220            this.kemid = kemid;
221        }
222    
223        /**
224         * Gets the kemidObjRef.
225         * 
226         * @return kemidObjRef
227         */
228        public KEMID getKemidObjRef() {
229            return kemidObjRef;
230        }
231    
232        /**
233         * Sets the kemidObjRef.
234         * 
235         * @param kemidObjRef
236         */
237        public void setKemidObjRef(KEMID kemidObjRef) {
238            this.kemidObjRef = kemidObjRef;
239        }
240    
241        /**
242         * Gets the percentOfFeeChargedToIncome.
243         * 
244         * @return percentOfFeeChargedToIncome
245         */
246        public KualiDecimal getPercentOfFeeChargedToIncome() {
247            return percentOfFeeChargedToIncome;
248        }
249    
250        /**
251         * Sets the percentOfFeeChargedToIncome.
252         * 
253         * @param percentOfFeeChargedToIncome
254         */
255        public void setPercentOfFeeChargedToIncome(KualiDecimal percentOfFeeChargedToIncome) {
256            this.percentOfFeeChargedToIncome = percentOfFeeChargedToIncome;
257        }
258    
259        /**
260         * Gets the percentOfFeeChargedToPrincipal.
261         * 
262         * @return percentOfFeeChargedToPrincipal
263         */
264        public KualiDecimal getPercentOfFeeChargedToPrincipal() {
265            return percentOfFeeChargedToPrincipal;
266        }
267    
268        /**
269         * Sets the percentOfFeeChargedToPrincipal.
270         * 
271         * @param percentOfFeeChargedToPrincipal
272         */
273        public void setPercentOfFeeChargedToPrincipal(KualiDecimal percentOfFeeChargedToPrincipal) {
274            this.percentOfFeeChargedToPrincipal = percentOfFeeChargedToPrincipal;
275        }
276    
277        /**
278         * Gets the totalAccruedFees.
279         * 
280         * @return totalAccruedFees
281         */
282        public KualiDecimal getTotalAccruedFees() {
283            return totalAccruedFees;
284        }
285    
286        /**
287         * Sets the totalAccruedFees.
288         * 
289         * @param totalAccruedFees
290         */
291        public void setTotalAccruedFees(KualiDecimal totalAccruedFees) {
292            this.totalAccruedFees = totalAccruedFees;
293        }
294    
295        /**
296         * Gets the totalWaivedFees.
297         * 
298         * @return totalWaivedFees
299         */
300        public KualiDecimal getTotalWaivedFees() {
301            return totalWaivedFees;
302        }
303    
304        /**
305         * Sets the totalWaivedFees.
306         * 
307         * @param totalWaivedFees
308         */
309        public void setTotalWaivedFees(KualiDecimal totalWaivedFees) {
310            this.totalWaivedFees = totalWaivedFees;
311        }
312    
313        /**
314         * Gets the totalWaivedFeesThisFiscalYear.
315         * 
316         * @return totalWaivedFeesThisFiscalYear
317         */
318        public KualiDecimal getTotalWaivedFeesThisFiscalYear() {
319            return totalWaivedFeesThisFiscalYear;
320        }
321    
322        /**
323         * Sets the totalWaivedFeesThisFiscalYear.
324         * 
325         * @param totalWaivedFeesThisFiscalYear
326         */
327        public void setTotalWaivedFeesThisFiscalYear(KualiDecimal totalWaivedFeesThisFiscalYear) {
328            this.totalWaivedFeesThisFiscalYear = totalWaivedFeesThisFiscalYear;
329        }
330    
331        /**
332         * Gets the waiveFees.
333         * 
334         * @return waiveFees
335         */
336        public boolean isWaiveFees() {
337            return waiveFees;
338        }
339    
340        /**
341         * Sets the waiveFees.
342         * 
343         * @param waiveFees
344         */
345        public void setWaiveFees(boolean waiveFees) {
346            this.waiveFees = waiveFees;
347        }
348    
349    }