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    
017    package org.kuali.kfs.fp.businessobject;
018    
019    import java.sql.Date;
020    import java.util.LinkedHashMap;
021    
022    import org.kuali.kfs.sys.KFSPropertyConstants;
023    import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
024    import org.kuali.rice.kns.util.KualiDecimal;
025    
026    /**
027     * This class represents the CreditCardDetail business object, which is a single record on the Credit Card Receipts Document
028     * representing a single credit card receipt. This is a type of advance deposit.
029     */
030    public class CreditCardDetail extends PersistableBusinessObjectBase {
031        private String documentNumber;
032        private String financialDocumentTypeCode;
033        private String financialDocumentColumnTypeCode;
034        private Integer financialDocumentLineNumber;
035        private String financialDocumentCreditCardTypeCode;
036        private String financialDocumentCreditCardVendorNumber;
037        private Date creditCardDepositDate;
038        private String creditCardDepositReferenceNumber;
039        private KualiDecimal creditCardAdvanceDepositAmount;
040    
041        private CreditCardType financialDocumentCreditCardType;
042        private CreditCardVendor financialDocumentCreditCardVendor;
043    
044        /**
045         * Default constructor.
046         */
047        public CreditCardDetail() {
048            super();
049            this.financialDocumentLineNumber = new Integer(1);
050            this.creditCardAdvanceDepositAmount = KualiDecimal.ZERO;
051        }
052    
053        /**
054         * Gets the documentNumber attribute.
055         * 
056         * @return Returns the documentNumber
057         */
058        public String getDocumentNumber() {
059            return documentNumber;
060        }
061    
062        /**
063         * Sets the documentNumber attribute.
064         * 
065         * @param documentNumber The documentNumber to set.
066         */
067        public void setDocumentNumber(String documentNumber) {
068            this.documentNumber = documentNumber;
069        }
070    
071    
072        /**
073         * Gets the financialDocumentTypeCode attribute.
074         * 
075         * @return Returns the financialDocumentTypeCode
076         */
077        public String getFinancialDocumentTypeCode() {
078            return financialDocumentTypeCode;
079        }
080    
081        /**
082         * Sets the financialDocumentTypeCode attribute.
083         * 
084         * @param financialDocumentTypeCode The financialDocumentTypeCode to set.
085         */
086        public void setFinancialDocumentTypeCode(String financialDocumentTypeCode) {
087            this.financialDocumentTypeCode = financialDocumentTypeCode;
088        }
089    
090    
091        /**
092         * Gets the financialDocumentColumnTypeCode attribute.
093         * 
094         * @return Returns the financialDocumentColumnTypeCode
095         */
096        public String getFinancialDocumentColumnTypeCode() {
097            return financialDocumentColumnTypeCode;
098        }
099    
100        /**
101         * Sets the financialDocumentColumnTypeCode attribute.
102         * 
103         * @param financialDocumentColumnTypeCode The financialDocumentColumnTypeCode to set.
104         */
105        public void setFinancialDocumentColumnTypeCode(String financialDocumentColumnTypeCode) {
106            this.financialDocumentColumnTypeCode = financialDocumentColumnTypeCode;
107        }
108    
109    
110        /**
111         * Gets the financialDocumentLineNumber attribute.
112         * 
113         * @return Returns the financialDocumentLineNumber
114         */
115        public Integer getFinancialDocumentLineNumber() {
116            return financialDocumentLineNumber;
117        }
118    
119        /**
120         * Sets the financialDocumentLineNumber attribute.
121         * 
122         * @param financialDocumentLineNumber The financialDocumentLineNumber to set.
123         */
124        public void setFinancialDocumentLineNumber(Integer financialDocumentLineNumber) {
125            this.financialDocumentLineNumber = financialDocumentLineNumber;
126        }
127    
128    
129        /**
130         * Gets the financialDocumentCreditCardTypeCode attribute.
131         * 
132         * @return Returns the financialDocumentCreditCardTypeCode
133         */
134        public String getFinancialDocumentCreditCardTypeCode() {
135            return financialDocumentCreditCardTypeCode;
136        }
137    
138        /**
139         * Sets the financialDocumentCreditCardTypeCode attribute.
140         * 
141         * @param financialDocumentCreditCardTypeCode The financialDocumentCreditCardTypeCode to set.
142         */
143        public void setFinancialDocumentCreditCardTypeCode(String financialDocumentCreditCardTypeCode) {
144            this.financialDocumentCreditCardTypeCode = financialDocumentCreditCardTypeCode;
145        }
146    
147    
148        /**
149         * Gets the financialDocumentCreditCardVendorNumber attribute.
150         * 
151         * @return Returns the financialDocumentCreditCardVendorNumber
152         */
153        public String getFinancialDocumentCreditCardVendorNumber() {
154            return financialDocumentCreditCardVendorNumber;
155        }
156    
157        /**
158         * Sets the financialDocumentCreditCardVendorNumber attribute.
159         * 
160         * @param financialDocumentCreditCardVendorNumber The financialDocumentCreditCardVendorNumber to set.
161         */
162        public void setFinancialDocumentCreditCardVendorNumber(String financialDocumentCreditCardVendorNumber) {
163            this.financialDocumentCreditCardVendorNumber = financialDocumentCreditCardVendorNumber;
164        }
165    
166    
167        /**
168         * Gets the creditCardDepositDate attribute.
169         * 
170         * @return Returns the creditCardDepositDate
171         */
172        public Date getCreditCardDepositDate() {
173            return creditCardDepositDate;
174        }
175    
176        /**
177         * Sets the creditCardDepositDate attribute.
178         * 
179         * @param creditCardDepositDate The creditCardDepositDate to set.
180         */
181        public void setCreditCardDepositDate(Date creditCardDepositDate) {
182            this.creditCardDepositDate = creditCardDepositDate;
183        }
184    
185    
186        /**
187         * Gets the creditCardDepositReferenceNumber attribute.
188         * 
189         * @return Returns the creditCardDepositReferenceNumber
190         */
191        public String getCreditCardDepositReferenceNumber() {
192            return creditCardDepositReferenceNumber;
193        }
194    
195        /**
196         * Sets the creditCardDepositReferenceNumber attribute.
197         * 
198         * @param creditCardDepositReferenceNumber The creditCardDepositReferenceNumber to set.
199         */
200        public void setCreditCardDepositReferenceNumber(String creditCardDepositReferenceNumber) {
201            this.creditCardDepositReferenceNumber = creditCardDepositReferenceNumber;
202        }
203    
204    
205        /**
206         * Gets the creditCardAdvanceDepositAmount attribute.
207         * 
208         * @return Returns the creditCardAdvanceDepositAmount
209         */
210        public KualiDecimal getCreditCardAdvanceDepositAmount() {
211            return creditCardAdvanceDepositAmount;
212        }
213    
214        /**
215         * Sets the creditCardAdvanceDepositAmount attribute.
216         * 
217         * @param creditCardAdvanceDepositAmount The creditCardAdvanceDepositAmount to set.
218         */
219        public void setCreditCardAdvanceDepositAmount(KualiDecimal creditCardAdvanceDepositAmount) {
220            this.creditCardAdvanceDepositAmount = creditCardAdvanceDepositAmount;
221        }
222    
223        /**
224         * @return Returns the financialDocumentCreditCardType.
225         */
226        public CreditCardType getFinancialDocumentCreditCardType() {
227            return financialDocumentCreditCardType;
228        }
229    
230        /**
231         * @param financialDocumentCreditCardType The financialDocumentCreditCardType to set.
232         * @deprecated
233         */
234        public void setFinancialDocumentCreditCardType(CreditCardType financialDocumentCreditCardType) {
235            this.financialDocumentCreditCardType = financialDocumentCreditCardType;
236        }
237    
238        /**
239         * @return Returns the financialDocumentCreditCardVendor.
240         */
241        public CreditCardVendor getFinancialDocumentCreditCardVendor() {
242            return financialDocumentCreditCardVendor;
243        }
244    
245        /**
246         * @param financialDocumentCreditCardVendor The financialDocumentCreditCardVendor to set.
247         */
248        public void setFinancialDocumentCreditCardVendor(CreditCardVendor financialDocumentCreditCardVendor) {
249            this.financialDocumentCreditCardVendor = financialDocumentCreditCardVendor;
250        }
251    
252        /**
253         * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
254         */
255        protected LinkedHashMap toStringMapper() {
256            LinkedHashMap m = new LinkedHashMap();
257            m.put(KFSPropertyConstants.DOCUMENT_NUMBER, this.documentNumber);
258            m.put("financialDocumentTypeCode", this.financialDocumentTypeCode);
259            m.put("financialDocumentColumnTypeCode", this.financialDocumentColumnTypeCode);
260            if (this.financialDocumentLineNumber != null) {
261                m.put("financialDocumentLineNumber", this.financialDocumentLineNumber.toString());
262            }
263            return m;
264        }
265    }