001/*
002 * Copyright 2006 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
017package org.kuali.ole.fp.businessobject;
018
019import java.sql.Date;
020import java.util.LinkedHashMap;
021
022import org.kuali.ole.sys.OLEPropertyConstants;
023import org.kuali.rice.core.api.util.type.KualiDecimal;
024import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
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 */
030public class CreditCardDetail extends PersistableBusinessObjectBase {
031    private String documentNumber;
032    private String financialDocumentTypeCode;
033    private Integer financialDocumentLineNumber;
034    private String financialDocumentCreditCardTypeCode;
035    private String financialDocumentCreditCardVendorNumber;
036    private Date creditCardDepositDate;
037    private String creditCardDepositReferenceNumber;
038    private KualiDecimal creditCardAdvanceDepositAmount;
039
040    private CreditCardType financialDocumentCreditCardType;
041    private CreditCardVendor financialDocumentCreditCardVendor;
042
043    /**
044     * Default constructor.
045     */
046    public CreditCardDetail() {
047        super();
048        
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     * Gets the financialDocumentLineNumber attribute.
092     * 
093     * @return Returns the financialDocumentLineNumber
094     */
095    public Integer getFinancialDocumentLineNumber() {
096        return financialDocumentLineNumber;
097    }
098
099    /**
100     * Sets the financialDocumentLineNumber attribute.
101     * 
102     * @param financialDocumentLineNumber The financialDocumentLineNumber to set.
103     */
104    public void setFinancialDocumentLineNumber(Integer financialDocumentLineNumber) {
105        this.financialDocumentLineNumber = financialDocumentLineNumber;
106    }
107
108
109    /**
110     * Gets the financialDocumentCreditCardTypeCode attribute.
111     * 
112     * @return Returns the financialDocumentCreditCardTypeCode
113     */
114    public String getFinancialDocumentCreditCardTypeCode() {
115        return financialDocumentCreditCardTypeCode;
116    }
117
118    /**
119     * Sets the financialDocumentCreditCardTypeCode attribute.
120     * 
121     * @param financialDocumentCreditCardTypeCode The financialDocumentCreditCardTypeCode to set.
122     */
123    public void setFinancialDocumentCreditCardTypeCode(String financialDocumentCreditCardTypeCode) {
124        this.financialDocumentCreditCardTypeCode = financialDocumentCreditCardTypeCode;
125    }
126
127
128    /**
129     * Gets the financialDocumentCreditCardVendorNumber attribute.
130     * 
131     * @return Returns the financialDocumentCreditCardVendorNumber
132     */
133    public String getFinancialDocumentCreditCardVendorNumber() {
134        return financialDocumentCreditCardVendorNumber;
135    }
136
137    /**
138     * Sets the financialDocumentCreditCardVendorNumber attribute.
139     * 
140     * @param financialDocumentCreditCardVendorNumber The financialDocumentCreditCardVendorNumber to set.
141     */
142    public void setFinancialDocumentCreditCardVendorNumber(String financialDocumentCreditCardVendorNumber) {
143        this.financialDocumentCreditCardVendorNumber = financialDocumentCreditCardVendorNumber;
144    }
145
146
147    /**
148     * Gets the creditCardDepositDate attribute.
149     * 
150     * @return Returns the creditCardDepositDate
151     */
152    public Date getCreditCardDepositDate() {
153        return creditCardDepositDate;
154    }
155
156    /**
157     * Sets the creditCardDepositDate attribute.
158     * 
159     * @param creditCardDepositDate The creditCardDepositDate to set.
160     */
161    public void setCreditCardDepositDate(Date creditCardDepositDate) {
162        this.creditCardDepositDate = creditCardDepositDate;
163    }
164
165
166    /**
167     * Gets the creditCardDepositReferenceNumber attribute.
168     * 
169     * @return Returns the creditCardDepositReferenceNumber
170     */
171    public String getCreditCardDepositReferenceNumber() {
172        return creditCardDepositReferenceNumber;
173    }
174
175    /**
176     * Sets the creditCardDepositReferenceNumber attribute.
177     * 
178     * @param creditCardDepositReferenceNumber The creditCardDepositReferenceNumber to set.
179     */
180    public void setCreditCardDepositReferenceNumber(String creditCardDepositReferenceNumber) {
181        this.creditCardDepositReferenceNumber = creditCardDepositReferenceNumber;
182    }
183
184
185    /**
186     * Gets the creditCardAdvanceDepositAmount attribute.
187     * 
188     * @return Returns the creditCardAdvanceDepositAmount
189     */
190    public KualiDecimal getCreditCardAdvanceDepositAmount() {
191        return creditCardAdvanceDepositAmount;
192    }
193
194    /**
195     * Sets the creditCardAdvanceDepositAmount attribute.
196     * 
197     * @param creditCardAdvanceDepositAmount The creditCardAdvanceDepositAmount to set.
198     */
199    public void setCreditCardAdvanceDepositAmount(KualiDecimal creditCardAdvanceDepositAmount) {
200        this.creditCardAdvanceDepositAmount = creditCardAdvanceDepositAmount;
201    }
202
203    /**
204     * @return Returns the financialDocumentCreditCardType.
205     */
206    public CreditCardType getFinancialDocumentCreditCardType() {
207        return financialDocumentCreditCardType;
208    }
209
210    /**
211     * @param financialDocumentCreditCardType The financialDocumentCreditCardType to set.
212     * @deprecated
213     */
214    public void setFinancialDocumentCreditCardType(CreditCardType financialDocumentCreditCardType) {
215        this.financialDocumentCreditCardType = financialDocumentCreditCardType;
216    }
217
218    /**
219     * @return Returns the financialDocumentCreditCardVendor.
220     */
221    public CreditCardVendor getFinancialDocumentCreditCardVendor() {
222        return financialDocumentCreditCardVendor;
223    }
224
225    /**
226     * @param financialDocumentCreditCardVendor The financialDocumentCreditCardVendor to set.
227     */
228    public void setFinancialDocumentCreditCardVendor(CreditCardVendor financialDocumentCreditCardVendor) {
229        this.financialDocumentCreditCardVendor = financialDocumentCreditCardVendor;
230    }
231
232    /**
233     * @see org.kuali.rice.krad.bo.BusinessObjectBase#toStringMapper()
234     */
235    protected LinkedHashMap toStringMapper_RICE20_REFACTORME() {
236        LinkedHashMap m = new LinkedHashMap();
237        m.put(OLEPropertyConstants.DOCUMENT_NUMBER, this.documentNumber);
238        m.put("financialDocumentTypeCode", this.financialDocumentTypeCode);
239        if (this.financialDocumentLineNumber != null) {
240            m.put("financialDocumentLineNumber", this.financialDocumentLineNumber.toString());
241        }
242        return m;
243    }
244}