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.gl.businessobject;
018    
019    import java.sql.Date;
020    import java.sql.Timestamp;
021    import java.util.LinkedHashMap;
022    
023    import org.kuali.kfs.coa.businessobject.Account;
024    import org.kuali.kfs.coa.businessobject.AccountingPeriod;
025    import org.kuali.kfs.coa.businessobject.BalanceType;
026    import org.kuali.kfs.coa.businessobject.Chart;
027    import org.kuali.kfs.coa.businessobject.ObjectCode;
028    import org.kuali.kfs.coa.businessobject.ObjectType;
029    import org.kuali.kfs.coa.businessobject.ProjectCode;
030    import org.kuali.kfs.coa.businessobject.SubAccount;
031    import org.kuali.kfs.coa.businessobject.SubObjectCode;
032    import org.kuali.kfs.sys.KFSPropertyConstants;
033    import org.kuali.kfs.sys.businessobject.OriginationCode;
034    import org.kuali.kfs.sys.businessobject.SystemOptions;
035    import org.kuali.kfs.sys.businessobject.UniversityDate;
036    import org.kuali.kfs.sys.context.SpringContext;
037    import org.kuali.rice.kew.doctype.bo.DocumentTypeEBO;
038    import org.kuali.rice.kew.service.impl.KEWModuleService;
039    import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
040    import org.kuali.rice.kns.service.DateTimeService;
041    import org.kuali.rice.kns.util.KualiDecimal;
042    
043    /**
044     * Represents a G/L entry
045     * 
046     */
047    public class Entry extends PersistableBusinessObjectBase implements Transaction {
048        static final long serialVersionUID = -24983129882357448L;
049    
050        private Integer universityFiscalYear;
051        private String chartOfAccountsCode;
052        private String accountNumber;
053        private String subAccountNumber;
054        private String financialObjectCode;
055        private String financialSubObjectCode;
056        private String financialBalanceTypeCode;
057        private String financialObjectTypeCode;
058        private String universityFiscalPeriodCode;
059        private String financialDocumentTypeCode;
060        private String financialSystemOriginationCode;
061        private String documentNumber;
062        private Integer transactionLedgerEntrySequenceNumber;
063        private String transactionLedgerEntryDescription;
064        private KualiDecimal transactionLedgerEntryAmount;
065        private String transactionDebitCreditCode;
066        private Date transactionDate;
067        private String organizationDocumentNumber;
068        private String projectCode;
069        private String organizationReferenceId;
070        private String referenceFinancialDocumentTypeCode;
071        private String referenceFinancialSystemOriginationCode;
072        private String referenceFinancialDocumentNumber;
073        private Date financialDocumentReversalDate;
074        private String transactionEncumbranceUpdateCode;
075        private Date transactionPostingDate;
076        private Timestamp transactionDateTimeStamp;
077    
078        // bo references
079        private Account account;
080        private SubAccount subAccount;
081        private BalanceType balanceType;
082        private Chart chart;
083        private ObjectCode financialObject;
084        private SubObjectCode financialSubObject;
085        private ObjectType objectType;
086        private ProjectCode project;
087        private DocumentTypeEBO financialSystemDocumentTypeCode;
088        private DocumentTypeEBO referenceFinancialSystemDocumentTypeCode;
089        private UniversityDate universityDate;
090        private SystemOptions option;
091        private AccountingPeriod accountingPeriod;
092        private UniversityDate reversalDate;
093        private OriginationCode originationCode;
094        private OriginationCode referenceOriginationCode;
095    
096        private TransientBalanceInquiryAttributes dummyBusinessObject;
097    
098        /**
099         * Default constructor.
100         */
101        public Entry() {
102        }
103    
104        public Entry(Transaction t) {
105            super();
106    
107            setUniversityFiscalYear(t.getUniversityFiscalYear());
108            setChartOfAccountsCode(t.getChartOfAccountsCode());
109            setAccountNumber(t.getAccountNumber());
110            setSubAccountNumber(t.getSubAccountNumber());
111            setFinancialObjectCode(t.getFinancialObjectCode());
112            setFinancialSubObjectCode(t.getFinancialSubObjectCode());
113            setFinancialBalanceTypeCode(t.getFinancialBalanceTypeCode());
114            setFinancialObjectTypeCode(t.getFinancialObjectTypeCode());
115            setUniversityFiscalPeriodCode(t.getUniversityFiscalPeriodCode());
116            setFinancialDocumentTypeCode(t.getFinancialDocumentTypeCode());
117            setFinancialSystemOriginationCode(t.getFinancialSystemOriginationCode());
118            setDocumentNumber(t.getDocumentNumber());
119            setTransactionLedgerEntrySequenceNumber(t.getTransactionLedgerEntrySequenceNumber());
120            setTransactionLedgerEntryDescription(t.getTransactionLedgerEntryDescription());
121            setTransactionLedgerEntryAmount(t.getTransactionLedgerEntryAmount());
122            setTransactionDebitCreditCode(t.getTransactionDebitCreditCode());
123            setTransactionDate(t.getTransactionDate());
124            setOrganizationDocumentNumber(t.getOrganizationDocumentNumber());
125            setProjectCode(t.getProjectCode());
126            setOrganizationReferenceId(t.getOrganizationReferenceId());
127            setReferenceFinancialDocumentTypeCode(t.getReferenceFinancialDocumentTypeCode());
128            setReferenceFinancialSystemOriginationCode(t.getReferenceFinancialSystemOriginationCode());
129            setReferenceFinancialDocumentNumber(t.getReferenceFinancialDocumentNumber());
130            setFinancialDocumentReversalDate(t.getFinancialDocumentReversalDate());
131            setTransactionEncumbranceUpdateCode(t.getTransactionEncumbranceUpdateCode());
132            
133            Timestamp now = SpringContext.getBean(DateTimeService.class).getCurrentTimestamp();
134            setTransactionDateTimeStamp(now);
135        }
136    
137        public Entry(Transaction t, java.util.Date postDate) {
138            super();
139            this.dummyBusinessObject = new TransientBalanceInquiryAttributes();
140    
141            setUniversityFiscalYear(t.getUniversityFiscalYear());
142            setChartOfAccountsCode(t.getChartOfAccountsCode());
143            setAccountNumber(t.getAccountNumber());
144            setSubAccountNumber(t.getSubAccountNumber());
145            setFinancialObjectCode(t.getFinancialObjectCode());
146            setFinancialSubObjectCode(t.getFinancialSubObjectCode());
147            setFinancialBalanceTypeCode(t.getFinancialBalanceTypeCode());
148            setFinancialObjectTypeCode(t.getFinancialObjectTypeCode());
149            setUniversityFiscalPeriodCode(t.getUniversityFiscalPeriodCode());
150            setFinancialDocumentTypeCode(t.getFinancialDocumentTypeCode());
151            setFinancialSystemOriginationCode(t.getFinancialSystemOriginationCode());
152            setDocumentNumber(t.getDocumentNumber());
153            setTransactionLedgerEntrySequenceNumber(t.getTransactionLedgerEntrySequenceNumber());
154            setTransactionLedgerEntryDescription(t.getTransactionLedgerEntryDescription());
155            setTransactionLedgerEntryAmount(t.getTransactionLedgerEntryAmount());
156            setTransactionDebitCreditCode(t.getTransactionDebitCreditCode());
157            setTransactionDate(t.getTransactionDate());
158            setOrganizationDocumentNumber(t.getOrganizationDocumentNumber());
159            setProjectCode(t.getProjectCode());
160            setOrganizationReferenceId(t.getOrganizationReferenceId());
161            setReferenceFinancialDocumentTypeCode(t.getReferenceFinancialDocumentTypeCode());
162            setReferenceFinancialSystemOriginationCode(t.getReferenceFinancialSystemOriginationCode());
163            setReferenceFinancialDocumentNumber(t.getReferenceFinancialDocumentNumber());
164            setFinancialDocumentReversalDate(t.getFinancialDocumentReversalDate());
165            setTransactionEncumbranceUpdateCode(t.getTransactionEncumbranceUpdateCode());
166            if (postDate != null) {
167                setTransactionPostingDate(new Date(postDate.getTime()));
168            }
169    
170            Timestamp now = SpringContext.getBean(DateTimeService.class).getCurrentTimestamp();
171            setTransactionDateTimeStamp(now);
172        }
173    
174        public OriginationCode getOriginationCode() {
175            return originationCode;
176        }
177    
178        public void setOriginationCode(OriginationCode originationCode) {
179            this.originationCode = originationCode;
180        }
181    
182        public OriginationCode getReferenceOriginationCode() {
183            return referenceOriginationCode;
184        }
185    
186        public void setReferenceOriginationCode(OriginationCode referenceOriginationCode) {
187            this.referenceOriginationCode = referenceOriginationCode;
188        }
189    
190        /**
191         * Gets the universityFiscalYear attribute.
192         * 
193         * @return Returns the universityFiscalYear
194         */
195        public Integer getUniversityFiscalYear() {
196            return universityFiscalYear;
197        }
198    
199        /**
200         * Sets the universityFiscalYear attribute.
201         * 
202         * @param universityFiscalYear The universityFiscalYear to set.
203         */
204        public void setUniversityFiscalYear(Integer universityFiscalYear) {
205            this.universityFiscalYear = universityFiscalYear;
206        }
207    
208        /**
209         * Gets the chartOfAccountsCode attribute.
210         * 
211         * @return Returns the chartOfAccountsCode
212         */
213        public String getChartOfAccountsCode() {
214            return chartOfAccountsCode;
215        }
216    
217        /**
218         * Sets the chartOfAccountsCode attribute.
219         * 
220         * @param chartOfAccountsCode The chartOfAccountsCode to set.
221         */
222        public void setChartOfAccountsCode(String chartOfAccountsCode) {
223            this.chartOfAccountsCode = chartOfAccountsCode;
224        }
225    
226        /**
227         * Gets the financialSystemDocumentTypeCode attribute. 
228         * 
229         * @return Returns the financialSystemDocumentTypeCode.
230         */
231        public DocumentTypeEBO getFinancialSystemDocumentTypeCode() {
232            return financialSystemDocumentTypeCode = SpringContext.getBean(KEWModuleService.class).retrieveExternalizableBusinessObjectIfNecessary(this, financialSystemDocumentTypeCode, "financialSystemDocumentTypeCode");
233        }
234    
235        /**
236         * Gets the accountNumber attribute.
237         * 
238         * @return Returns the accountNumber
239         */
240        public String getAccountNumber() {
241            return accountNumber;
242        }
243    
244        /**
245         * Sets the accountNumber attribute.
246         * 
247         * @param accountNumber The accountNumber to set.
248         */
249        public void setAccountNumber(String accountNumber) {
250            this.accountNumber = accountNumber;
251        }
252    
253        /**
254         * Gets the subAccountNumber attribute.
255         * 
256         * @return Returns the subAccountNumber
257         */
258        public String getSubAccountNumber() {
259            return subAccountNumber;
260        }
261    
262        /**
263         * Sets the subAccountNumber attribute.
264         * 
265         * @param subAccountNumber The subAccountNumber to set.
266         */
267        public void setSubAccountNumber(String subAccountNumber) {
268            this.subAccountNumber = subAccountNumber;
269        }
270    
271        /**
272         * Gets the financialObjectCode attribute.
273         * 
274         * @return Returns the financialObjectCode
275         */
276        public String getFinancialObjectCode() {
277            return financialObjectCode;
278        }
279    
280        /**
281         * Sets the financialObjectCode attribute.
282         * 
283         * @param financialObjectCode The financialObjectCode to set.
284         */
285        public void setFinancialObjectCode(String financialObjectCode) {
286            this.financialObjectCode = financialObjectCode;
287        }
288    
289        /**
290         * Gets the financialSubObjectCode attribute.
291         * 
292         * @return Returns the financialSubObjectCode
293         */
294        public String getFinancialSubObjectCode() {
295            return financialSubObjectCode;
296        }
297    
298        /**
299         * Sets the financialSubObjectCode attribute.
300         * 
301         * @param financialSubObjectCode The financialSubObjectCode to set.
302         */
303        public void setFinancialSubObjectCode(String financialSubObjectCode) {
304            this.financialSubObjectCode = financialSubObjectCode;
305        }
306    
307        /**
308         * Gets the financialBalanceTypeCode attribute.
309         * 
310         * @return Returns the financialBalanceTypeCode
311         */
312        public String getFinancialBalanceTypeCode() {
313            return financialBalanceTypeCode;
314        }
315    
316        /**
317         * Sets the financialBalanceTypeCode attribute.
318         * 
319         * @param financialBalanceTypeCode The financialBalanceTypeCode to set.
320         */
321        public void setFinancialBalanceTypeCode(String financialBalanceTypeCode) {
322            this.financialBalanceTypeCode = financialBalanceTypeCode;
323        }
324    
325        /**
326         * Gets the financialObjectTypeCode attribute.
327         * 
328         * @return Returns the financialObjectTypeCode
329         */
330        public String getFinancialObjectTypeCode() {
331            return financialObjectTypeCode;
332        }
333    
334        /**
335         * Sets the financialObjectTypeCode attribute.
336         * 
337         * @param financialObjectTypeCode The financialObjectTypeCode to set.
338         */
339        public void setFinancialObjectTypeCode(String financialObjectTypeCode) {
340            this.financialObjectTypeCode = financialObjectTypeCode;
341        }
342    
343        /**
344         * Gets the universityFiscalPeriodCode attribute.
345         * 
346         * @return Returns the universityFiscalPeriodCode
347         */
348        public String getUniversityFiscalPeriodCode() {
349            return universityFiscalPeriodCode;
350        }
351    
352        /**
353         * Sets the universityFiscalPeriodCode attribute.
354         * 
355         * @param universityFiscalPeriodCode The universityFiscalPeriodCode to set.
356         */
357        public void setUniversityFiscalPeriodCode(String universityFiscalPeriodCode) {
358            this.universityFiscalPeriodCode = universityFiscalPeriodCode;
359        }
360    
361        /**
362         * Gets the financialDocumentTypeCode attribute.
363         * 
364         * @return Returns the financialDocumentTypeCode
365         */
366        public String getFinancialDocumentTypeCode() {
367            return financialDocumentTypeCode;
368        }
369    
370        /**
371         * Sets the financialDocumentTypeCode attribute.
372         * 
373         * @param financialDocumentTypeCode The financialDocumentTypeCode to set.
374         */
375        public void setFinancialDocumentTypeCode(String financialDocumentTypeCode) {
376            this.financialDocumentTypeCode = financialDocumentTypeCode;
377        }
378    
379        /**
380         * Gets the financialSystemOriginationCode attribute.
381         * 
382         * @return Returns the financialSystemOriginationCode
383         */
384        public String getFinancialSystemOriginationCode() {
385            return financialSystemOriginationCode;
386        }
387    
388        /**
389         * Sets the financialSystemOriginationCode attribute.
390         * 
391         * @param financialSystemOriginationCode The financialSystemOriginationCode to set.
392         */
393        public void setFinancialSystemOriginationCode(String financialSystemOriginationCode) {
394            this.financialSystemOriginationCode = financialSystemOriginationCode;
395        }
396    
397        /**
398         * Gets the documentNumber attribute.
399         * 
400         * @return Returns the documentNumber
401         */
402        public String getDocumentNumber() {
403            return documentNumber;
404        }
405    
406        /**
407         * Sets the documentNumber attribute.
408         * 
409         * @param documentNumber The documentNumber to set.
410         */
411        public void setDocumentNumber(String documentNumber) {
412            this.documentNumber = documentNumber;
413        }
414    
415        /**
416         * Gets the transactionLedgerEntrySequenceNumber attribute.
417         * 
418         * @return Returns the transactionLedgerEntrySequenceNumber
419         */
420        public Integer getTransactionLedgerEntrySequenceNumber() {
421            return transactionLedgerEntrySequenceNumber;
422        }
423    
424        /**
425         * Sets the transactionLedgerEntrySequenceNumber attribute.
426         * 
427         * @param transactionLedgerEntrySequenceNumber The transactionLedgerEntrySequenceNumber to set.
428         */
429        public void setTransactionLedgerEntrySequenceNumber(Integer transactionLedgerEntrySequenceNumber) {
430            this.transactionLedgerEntrySequenceNumber = transactionLedgerEntrySequenceNumber;
431        }
432    
433        /**
434         * Gets the transactionLedgerEntryDescription attribute.
435         * 
436         * @return Returns the transactionLedgerEntryDescription
437         */
438        public String getTransactionLedgerEntryDescription() {
439            return transactionLedgerEntryDescription;
440        }
441    
442        /**
443         * Sets the transactionLedgerEntryDescription attribute.
444         * 
445         * @param transactionLedgerEntryDescription The transactionLedgerEntryDescription to set.
446         */
447        public void setTransactionLedgerEntryDescription(String transactionLedgerEntryDescription) {
448            this.transactionLedgerEntryDescription = transactionLedgerEntryDescription;
449        }
450    
451        /**
452         * Gets the transactionLedgerEntryAmount attribute.
453         * 
454         * @return Returns the transactionLedgerEntryAmount
455         */
456        public KualiDecimal getTransactionLedgerEntryAmount() {
457            return transactionLedgerEntryAmount;
458        }
459    
460        /**
461         * Sets the transactionLedgerEntryAmount attribute.
462         * 
463         * @param transactionLedgerEntryAmount The transactionLedgerEntryAmount to set.
464         */
465        public void setTransactionLedgerEntryAmount(KualiDecimal transactionLedgerEntryAmount) {
466            this.transactionLedgerEntryAmount = transactionLedgerEntryAmount;
467        }
468    
469        /**
470         * Gets the transactionDebitCreditCode attribute.
471         * 
472         * @return Returns the transactionDebitCreditCode
473         */
474        public String getTransactionDebitCreditCode() {
475            if (transactionDebitCreditCode == null) 
476                return " "; 
477            else 
478                return transactionDebitCreditCode;
479        }
480    
481        /**
482         * Sets the transactionDebitCreditCode attribute.
483         * 
484         * @param transactionDebitCreditCode The transactionDebitCreditCode to set.
485         */
486        public void setTransactionDebitCreditCode(String transactionDebitCreditCode) {
487            this.transactionDebitCreditCode = transactionDebitCreditCode;
488        }
489    
490        /**
491         * Gets the transactionDate attribute.
492         * 
493         * @return Returns the transactionDate
494         */
495        public Date getTransactionDate() {
496            return transactionDate;
497        }
498    
499        /**
500         * Sets the transactionDate attribute.
501         * 
502         * @param transactionDate The transactionDate to set.
503         */
504        public void setTransactionDate(Date transactionDate) {
505            this.transactionDate = transactionDate;
506        }
507    
508        /**
509         * Gets the organizationDocumentNumber attribute.
510         * 
511         * @return Returns the organizationDocumentNumber
512         */
513        public String getOrganizationDocumentNumber() {
514            return organizationDocumentNumber;
515        }
516    
517        /**
518         * Sets the organizationDocumentNumber attribute.
519         * 
520         * @param organizationDocumentNumber The organizationDocumentNumber to set.
521         */
522        public void setOrganizationDocumentNumber(String organizationDocumentNumber) {
523            this.organizationDocumentNumber = organizationDocumentNumber;
524        }
525    
526        /**
527         * Gets the projectCode attribute.
528         * 
529         * @return Returns the projectCode
530         */
531        public String getProjectCode() {
532            return projectCode;
533        }
534    
535        /**
536         * Sets the projectCode attribute.
537         * 
538         * @param projectCode The projectCode to set.
539         */
540        public void setProjectCode(String projectCode) {
541            this.projectCode = projectCode;
542        }
543    
544        /**
545         * Gets the organizationReferenceId attribute.
546         * 
547         * @return Returns the organizationReferenceId
548         */
549        public String getOrganizationReferenceId() {
550            return organizationReferenceId;
551        }
552    
553        /**
554         * Sets the organizationReferenceId attribute.
555         * 
556         * @param organizationReferenceId The organizationReferenceId to set.
557         */
558        public void setOrganizationReferenceId(String organizationReferenceId) {
559            this.organizationReferenceId = organizationReferenceId;
560        }
561    
562        /**
563         * Gets the referenceFinancialDocumentTypeCode attribute.
564         * 
565         * @return Returns the referenceFinancialDocumentTypeCode
566         */
567        public String getReferenceFinancialDocumentTypeCode() {
568            return referenceFinancialDocumentTypeCode;
569        }
570    
571        /**
572         * Sets the referenceFinancialDocumentTypeCode attribute.
573         * 
574         * @param referenceFinancialDocumentTypeCode The referenceFinancialDocumentTypeCode to set.
575         */
576        public void setReferenceFinancialDocumentTypeCode(String referenceFinancialDocumentTypeCode) {
577            this.referenceFinancialDocumentTypeCode = referenceFinancialDocumentTypeCode;
578        }
579    
580        /**
581         * Gets the referenceFinancialSystemOriginationCode attribute.
582         * 
583         * @return Returns the referenceFinancialSystemOriginationCode
584         */
585        public String getReferenceFinancialSystemOriginationCode() {
586            return referenceFinancialSystemOriginationCode;
587        }
588    
589        /**
590         * Sets the referenceFinancialSystemOriginationCode attribute.
591         * 
592         * @param referenceFinancialSystemOriginationCode The referenceFinancialSystemOriginationCode to set.
593         */
594        public void setReferenceFinancialSystemOriginationCode(String referenceFinancialSystemOriginationCode) {
595            this.referenceFinancialSystemOriginationCode = referenceFinancialSystemOriginationCode;
596        }
597    
598        /**
599         * Gets the referenceFinancialDocumentNumber attribute.
600         * 
601         * @return Returns the referenceFinancialDocumentNumber
602         */
603        public String getReferenceFinancialDocumentNumber() {
604            return referenceFinancialDocumentNumber;
605        }
606    
607        /**
608         * Sets the referenceFinancialDocumentNumber attribute.
609         * 
610         * @param referenceFinancialDocumentNumber The referenceFinancialDocumentNumber to set.
611         */
612        public void setReferenceFinancialDocumentNumber(String referenceFinancialDocumentNumber) {
613            this.referenceFinancialDocumentNumber = referenceFinancialDocumentNumber;
614        }
615    
616        /**
617         * Gets the financialDocumentReversalDate attribute.
618         * 
619         * @return Returns the financialDocumentReversalDate
620         */
621        public Date getFinancialDocumentReversalDate() {
622            return financialDocumentReversalDate;
623        }
624    
625        /**
626         * Sets the financialDocumentReversalDate attribute.
627         * 
628         * @param financialDocumentReversalDate The financialDocumentReversalDate to set.
629         */
630        public void setFinancialDocumentReversalDate(Date financialDocumentReversalDate) {
631            this.financialDocumentReversalDate = financialDocumentReversalDate;
632        }
633    
634        /**
635         * Gets the transactionEncumbranceUpdateCode attribute.
636         * 
637         * @return Returns the transactionEncumbranceUpdateCode
638         */
639        public String getTransactionEncumbranceUpdateCode() {
640            return transactionEncumbranceUpdateCode;
641        }
642    
643        /**
644         * Sets the transactionEncumbranceUpdateCode attribute.
645         * 
646         * @param transactionEncumbranceUpdateCode The transactionEncumbranceUpdateCode to set.
647         */
648        public void setTransactionEncumbranceUpdateCode(String transactionEncumbranceUpdateCode) {
649            this.transactionEncumbranceUpdateCode = transactionEncumbranceUpdateCode;
650        }
651    
652        /**
653         * Gets the transactionPostingDate attribute.
654         * 
655         * @return Returns the transactionPostingDate
656         */
657        public Date getTransactionPostingDate() {
658            return transactionPostingDate;
659        }
660    
661        /**
662         * Sets the transactionPostingDate attribute.
663         * 
664         * @param transactionPostingDate The transactionPostingDate to set.
665         */
666        public void setTransactionPostingDate(Date transactionPostingDate) {
667            this.transactionPostingDate = transactionPostingDate;
668        }
669    
670        /**
671         * Gets the transactionDateTimeStamp attribute.
672         * 
673         * @return Returns the transactionDateTimeStamp
674         */
675        public Timestamp getTransactionDateTimeStamp() {
676            return transactionDateTimeStamp;
677        }
678    
679        /**
680         * Sets the transactionDateTimeStamp attribute.
681         * 
682         * @param transactionDateTimeStamp The transactionDateTimeStamp to set.
683         */
684        public void setTransactionDateTimeStamp(Timestamp transactionDateTimeStamp) {
685            this.transactionDateTimeStamp = transactionDateTimeStamp;
686        }
687    
688        public Account getAccount() {
689            return account;
690        }
691    
692        public void setAccount(Account account) {
693            this.account = account;
694        }
695    
696        public AccountingPeriod getAccountingPeriod() {
697            return accountingPeriod;
698        }
699    
700        public void setAccountingPeriod(AccountingPeriod accountingPeriod) {
701            this.accountingPeriod = accountingPeriod;
702        }
703    
704        public BalanceType getBalanceType() {
705            return balanceType;
706        }
707    
708        public void setBalanceType(BalanceType balanceType) {
709            this.balanceType = balanceType;
710        }
711    
712        public Chart getChart() {
713            return chart;
714        }
715    
716        public void setChart(Chart chart) {
717            this.chart = chart;
718        }
719    
720        public ObjectCode getFinancialObject() {
721            return financialObject;
722        }
723    
724        public void setFinancialObject(ObjectCode financialObject) {
725            this.financialObject = financialObject;
726        }
727    
728        public SubObjectCode getFinancialSubObject() {
729            return financialSubObject;
730        }
731    
732        public void setFinancialSubObject(SubObjectCode financialSubObject) {
733            this.financialSubObject = financialSubObject;
734        }
735    
736        public ObjectType getObjectType() {
737            return objectType;
738        }
739    
740        public void setObjectType(ObjectType objectType) {
741            this.objectType = objectType;
742        }
743    
744        public SystemOptions getOption() {
745            return option;
746        }
747    
748        public void setOption(SystemOptions option) {
749            this.option = option;
750        }
751    
752        public ProjectCode getProject() {
753            return project;
754        }
755    
756        public void setProject(ProjectCode project) {
757            this.project = project;
758        }
759    
760        public UniversityDate getReversalDate() {
761            return reversalDate;
762        }
763    
764        public void setReversalDate(UniversityDate reversalDate) {
765            this.reversalDate = reversalDate;
766        }
767    
768        public SubAccount getSubAccount() {
769            return subAccount;
770        }
771    
772        public void setSubAccount(SubAccount subAccount) {
773            this.subAccount = subAccount;
774        }
775    
776        public UniversityDate getUniversityDate() {
777            return universityDate;
778        }
779    
780        public void setUniversityDate(UniversityDate universityDate) {
781            this.universityDate = universityDate;
782        }
783    
784        /**
785         * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
786         */
787        protected LinkedHashMap toStringMapper() {
788            LinkedHashMap m = new LinkedHashMap();
789            m.put("universityFiscalYear", this.universityFiscalYear.toString());
790            m.put("chartOfAccountsCode", this.chartOfAccountsCode);
791            m.put("accountNumber", this.accountNumber);
792            m.put("subAccountNumber", this.subAccountNumber);
793            m.put("financialObjectCode", this.financialObjectCode);
794            m.put("financialSubObjectCode", this.financialSubObjectCode);
795            m.put("financialBalanceTypeCode", this.financialBalanceTypeCode);
796            m.put("financialObjectTypeCode", this.financialObjectTypeCode);
797            m.put("universityFiscalPeriodCode", this.universityFiscalPeriodCode);
798            m.put("financialDocumentTypeCode", this.financialDocumentTypeCode);
799            m.put("financialSystemOriginationCode", this.financialSystemOriginationCode);
800            m.put(KFSPropertyConstants.DOCUMENT_NUMBER, this.documentNumber);
801            m.put("transactionLedgerEntrySequenceNumber", this.transactionLedgerEntrySequenceNumber.toString());
802            return m;
803        }
804    
805        /**
806         * Gets the dummyBusinessObject attribute.
807         * 
808         * @return Returns the dummyBusinessObject.
809         */
810        public TransientBalanceInquiryAttributes getDummyBusinessObject() {
811            return dummyBusinessObject;
812        }
813    
814        /**
815         * Sets the dummyBusinessObject attribute value.
816         * 
817         * @param dummyBusinessObject The dummyBusinessObject to set.
818         */
819        public void setDummyBusinessObject(TransientBalanceInquiryAttributes dummyBusinessObject) {
820            this.dummyBusinessObject = dummyBusinessObject;
821        }
822    
823        /**
824         * Gets the referenceFinancialSystemDocumentTypeCode attribute. 
825         * 
826         * @return Returns the referenceFinancialSystemDocumentTypeCode.
827         */
828        public DocumentTypeEBO getReferenceFinancialSystemDocumentTypeCode() {
829            return referenceFinancialSystemDocumentTypeCode = SpringContext.getBean(KEWModuleService.class).retrieveExternalizableBusinessObjectIfNecessary(this, referenceFinancialSystemDocumentTypeCode, "referenceFinancialSystemDocumentTypeCode");
830        }
831    
832    }