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.math.BigDecimal;
019    import java.sql.Date;
020    import java.text.ParseException;
021    import java.util.LinkedHashMap;
022    import java.util.List;
023    
024    import org.kuali.kfs.module.endow.EndowConstants;
025    import org.kuali.kfs.module.endow.EndowPropertyConstants;
026    import org.kuali.kfs.module.endow.document.service.KEMService;
027    import org.kuali.kfs.sys.KFSConstants;
028    import org.kuali.kfs.sys.context.SpringContext;
029    import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
030    import org.kuali.rice.kns.service.DateTimeService;
031    import org.kuali.rice.kns.service.ParameterService;
032    import org.kuali.rice.kns.util.KualiInteger;
033    import org.kuali.rice.kns.util.TypedArrayList;
034    
035    /**
036     * Business Object for Holding Tax Lot table
037     */
038    public class HoldingTaxLotRebalance extends PersistableBusinessObjectBase {
039    
040        // Composite keys:
041        private String incomePrincipalIndicator;     
042        private String registrationCode;
043        private String securityId;
044        private String kemid;
045        
046        // Other fields:
047        private KualiInteger totalLotNumber;
048        private BigDecimal   totalUnits;
049        private BigDecimal   totalCost;
050    
051        // Reference objects:
052        protected IncomePrincipalIndicator incomePrincipal;
053        protected RegistrationCode         registration;
054        protected Security                 security;
055        protected KEMID                    kemidObj;
056        
057        // Collections:
058        protected List<HoldingTaxLot> holdingTaxLots;
059        
060        /**
061         * Constructor.
062         */
063        public HoldingTaxLotRebalance()
064        {
065            holdingTaxLots = new TypedArrayList(HoldingTaxLot.class);
066        }
067    
068        /**
069         * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
070         */
071        @Override
072        protected LinkedHashMap<String, String> toStringMapper() {
073            LinkedHashMap<String, String> m = new LinkedHashMap<String, String>();
074            m.put(EndowPropertyConstants.KEMID, this.kemid);
075            m.put(EndowPropertyConstants.HOLDING_TAX_LOT_REBAL_SECURITY_ID, this.securityId);
076            m.put(EndowPropertyConstants.HOLDING_TAX_LOT_REBAL_REGISTRATION_CODE, this.registrationCode);
077            m.put(EndowPropertyConstants.HOLDING_TAX_LOT_REBAL_INCOME_PRINCIPAL_INDICATOR, this.incomePrincipalIndicator);
078            
079            return m;
080        }
081        
082        /**
083         * Gets the registrationCode attribute. 
084         * @return Returns the registrationCode.
085         */
086        public String getRegistrationCode() {
087            return registrationCode;
088        }
089    
090        /**
091         * Sets the registrationCode attribute value.
092         * @param registrationCode The registrationCode to set.
093         */
094        public void setRegistrationCode(String registrationCode) {
095            this.registrationCode = registrationCode;
096        }
097    
098        /**
099         * Gets the securityId attribute. 
100         * @return Returns the securityId.
101         */
102        public String getSecurityId() {
103            return securityId;
104        }
105    
106        /**
107         * Sets the securityId attribute value.
108         * @param securityId The securityId to set.
109         */
110        public void setSecurityId(String securityId) {
111            this.securityId = securityId;
112        }
113    
114        /**
115         * Gets the kemid attribute. 
116         * @return Returns the kemid.
117         */
118        public String getKemid() {
119            return kemid;
120        }
121    
122        /**
123         * Sets the kemid attribute value.
124         * @param kemid The kemid to set.
125         */
126        public void setKemid(String kemid) {
127            this.kemid = kemid;
128        }
129    
130        /**
131         * Gets the incomePrincipalIndicator attribute. 
132         * @return Returns the incomePrincipalIndicator.
133         */
134        public String getIncomePrincipalIndicator() {
135            return incomePrincipalIndicator;
136        }
137    
138        /**
139         * Sets the incomePrincipalIndicator attribute value.
140         * @param incomePrincipalIndicator The incomePrincipalIndicator to set.
141         */
142        public void setIncomePrincipalIndicator(String incomePrincipalIndicator) {
143            this.incomePrincipalIndicator = incomePrincipalIndicator;
144        }
145    
146        /**
147         * Gets the totalLotNumber attribute. 
148         * @return Returns the totalLotNumber.
149         */
150        public KualiInteger getTotalLotNumber() {
151            return totalLotNumber;
152        }
153    
154        /**
155         * Sets the totalLotNumber attribute value.
156         * @param totalLotNumber The totalLotNumber to set.
157         */
158        public void setTotalLotNumber(KualiInteger totalLotNumber) {
159            this.totalLotNumber = totalLotNumber;
160        }
161    
162        /**
163         * Gets the totalUnits attribute. 
164         * @return Returns the totalUnits.
165         */
166        public BigDecimal getTotalUnits() {
167            return totalUnits;
168        }
169    
170        /**
171         * Sets the totalUnits attribute value.
172         * @param totalUnits The totalUnits to set.
173         */
174        public void setTotalUnits(BigDecimal totalUnits) {
175            this.totalUnits = totalUnits;
176        }
177    
178        /**
179         * Gets the totalCost attribute. 
180         * @return Returns the totalCost.
181         */
182        public BigDecimal getTotalCost() {
183            return totalCost;
184        }
185    
186        /**
187         * Sets the totalCost attribute value.
188         * @param totalCost The totalCost to set.
189         */
190        public void setTotalCost(BigDecimal totalCost) {
191            this.totalCost = totalCost;
192        }
193    
194        /**
195         * Gets the incomePrincipal attribute. 
196         * @return Returns the incomePrincipal.
197         */
198        public IncomePrincipalIndicator getIncomePrincipal() {
199            return incomePrincipal;
200        }
201    
202        /**
203         * Sets the incomePrincipal attribute value.
204         * @param incomePrincipal The incomePrincipal to set.
205         */
206        public void setIncomePrincipal(IncomePrincipalIndicator incomePrincipal) {
207            this.incomePrincipal = incomePrincipal;
208        }
209    
210        /**
211         * Gets the registration attribute. 
212         * @return Returns the registration.
213         */
214        public RegistrationCode getRegistration() {
215            return registration;
216        }
217    
218        /**
219         * Sets the registration attribute value.
220         * @param registration The registration to set.
221         */
222        public void setRegistration(RegistrationCode registration) {
223            this.registration = registration;
224        }
225    
226        /**
227         * Gets the security attribute. 
228         * @return Returns the security.
229         */
230        public Security getSecurity() {
231            return security;
232        }
233    
234        /**
235         * Sets the security attribute value.
236         * @param security The security to set.
237         */
238        public void setSecurity(Security security) {
239            this.security = security;
240        }
241    
242        /**
243         * Gets the kemidObj attribute. 
244         * @return Returns the kemidObj.
245         */
246        public KEMID getKemidObj() {
247            return kemidObj;
248        }
249    
250        /**
251         * Sets the kemidObj attribute value.
252         * @param kemidObj The kemidObj to set.
253         */
254        public void setKemidObj(KEMID kemidObj) {
255            this.kemidObj = kemidObj;
256        }
257    
258        /**
259         * Gets the holdingTaxLots attribute. 
260         * @return Returns the holdingTaxLots.
261         */
262        public List<HoldingTaxLot> getHoldingTaxLots() {
263            return holdingTaxLots;
264        }
265    
266        /**
267         * Sets the holdingTaxLots attribute value.
268         * @param holdingTaxLots The holdingTaxLots to set.
269         */
270        public void setHoldingTaxLots(List<HoldingTaxLot> holdingTaxLots) {
271            this.holdingTaxLots = holdingTaxLots;
272        }
273    }