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 KemidPayoutInstruction class provides the KEMID to which the payout should go. The default is 100% to the income of the
028     * KEMID.
029     */
030    public class KemidPayoutInstruction extends PersistableBusinessObjectBase {
031    
032        private String kemid;
033        private KualiInteger payoutIncomeSequenceNumber;
034        private String payIncomeToKemid;
035        private KualiDecimal percentOfIncomeToPayToKemid;
036        private Date startDate;
037        private Date endDate;
038    
039        private KEMID kemidObjRef;
040        private KEMID payIncomeToKemidObjRef;
041    
042    
043        /**
044         * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
045         */
046        @Override
047        protected LinkedHashMap toStringMapper() {
048            LinkedHashMap<String, String> m = new LinkedHashMap<String, String>();
049            m.put(EndowPropertyConstants.KEMID, this.kemid);
050            m.put(EndowPropertyConstants.KEMID_PAY_INC_SEQ_NBR, String.valueOf(this.payoutIncomeSequenceNumber));
051            m.put(EndowPropertyConstants.KEMID_PAY_INC_TO_KEMID, this.payIncomeToKemid);
052            return m;
053        }
054    
055    
056        /**
057         * Gets the endDate.
058         * 
059         * @return endDate
060         */
061        public Date getEndDate() {
062            return endDate;
063        }
064    
065    
066        /**
067         * Sets the endDate.
068         * 
069         * @param endDate
070         */
071        public void setEndDate(Date endDate) {
072            this.endDate = endDate;
073        }
074    
075    
076        /**
077         * Gets the kemid.
078         * 
079         * @return kemid
080         */
081        public String getKemid() {
082            return kemid;
083        }
084    
085    
086        /**
087         * Sets the kemid.
088         * 
089         * @param kemid
090         */
091        public void setKemid(String kemid) {
092            this.kemid = kemid;
093        }
094    
095    
096        /**
097         * Gets the kemidObjRef.
098         * 
099         * @return kemidObjRef
100         */
101        public KEMID getKemidObjRef() {
102            return kemidObjRef;
103        }
104    
105    
106        /**
107         * Sets the kemidObjRef.
108         * 
109         * @param kemidObjRef
110         */
111        public void setKemidObjRef(KEMID kemidObjRef) {
112            this.kemidObjRef = kemidObjRef;
113        }
114    
115    
116        /**
117         * Gets the payIncomeToKemid.
118         * 
119         * @return payIncomeToKemid
120         */
121        public String getPayIncomeToKemid() {
122            return payIncomeToKemid;
123        }
124    
125    
126        /**
127         * Sets the payIncomeToKemid.
128         * 
129         * @param payIncomeToKemid
130         */
131        public void setPayIncomeToKemid(String payIncomeToKemid) {
132            this.payIncomeToKemid = payIncomeToKemid;
133        }
134    
135    
136        /**
137         * Gets the payIncomeToKemidObjRef.
138         * 
139         * @return payIncomeToKemidObjRef
140         */
141        public KEMID getPayIncomeToKemidObjRef() {
142            return payIncomeToKemidObjRef;
143        }
144    
145    
146        /**
147         * Sets the payIncomeToKemidObjRef.
148         * 
149         * @param payIncomeToKemidObjRef
150         */
151        public void setPayIncomeToKemidObjRef(KEMID payIncomeToKemidObjRef) {
152            this.payIncomeToKemidObjRef = payIncomeToKemidObjRef;
153        }
154    
155    
156        /**
157         * Gets the payoutIncomeSequenceNumber.
158         * 
159         * @return payoutIncomeSequenceNumber
160         */
161        public KualiInteger getPayoutIncomeSequenceNumber() {
162            return payoutIncomeSequenceNumber;
163        }
164    
165    
166        /**
167         * Sets the payoutIncomeSequenceNumber.
168         * 
169         * @param payoutIncomeSequenceNumber
170         */
171        public void setPayoutIncomeSequenceNumber(KualiInteger payoutIncomeSequenceNumber) {
172            this.payoutIncomeSequenceNumber = payoutIncomeSequenceNumber;
173        }
174    
175    
176        /**
177         * Gets the percentOfIncomeToPayToKemid.
178         * 
179         * @return percentOfIncomeToPayToKemid
180         */
181        public KualiDecimal getPercentOfIncomeToPayToKemid() {
182            return percentOfIncomeToPayToKemid;
183        }
184    
185    
186        /**
187         * Sets the percentOfIncomeToPayToKemid.
188         * 
189         * @param percentOfIncomeToPayToKemid
190         */
191        public void setPercentOfIncomeToPayToKemid(KualiDecimal percentOfIncomeToPayToKemid) {
192            this.percentOfIncomeToPayToKemid = percentOfIncomeToPayToKemid;
193        }
194    
195    
196        /**
197         * Gets the startDate.
198         * 
199         * @return startDate
200         */
201        public Date getStartDate() {
202            return startDate;
203        }
204    
205    
206        /**
207         * Sets the startDate.
208         * 
209         * @param startDate
210         */
211        public void setStartDate(Date startDate) {
212            this.startDate = startDate;
213        }
214    
215    }