View Javadoc
1   /*
2    * Copyright 2005-2006 The Kuali Foundation
3    * 
4    * Licensed under the Educational Community License, Version 2.0 (the "License");
5    * you may not use this file except in compliance with the License.
6    * You may obtain a copy of the License at
7    * 
8    * http://www.opensource.org/licenses/ecl2.php
9    * 
10   * Unless required by applicable law or agreed to in writing, software
11   * distributed under the License is distributed on an "AS IS" BASIS,
12   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13   * See the License for the specific language governing permissions and
14   * limitations under the License.
15   */
16  
17  package org.kuali.ole.gl.businessobject;
18  
19  import java.sql.Date;
20  import java.sql.Timestamp;
21  
22  import org.apache.commons.lang.StringUtils;
23  import org.kuali.ole.coa.businessobject.Account;
24  import org.kuali.ole.coa.businessobject.AccountingPeriod;
25  import org.kuali.ole.coa.businessobject.BalanceType;
26  import org.kuali.ole.coa.businessobject.Chart;
27  import org.kuali.ole.coa.businessobject.ObjectCode;
28  import org.kuali.ole.coa.businessobject.ObjectType;
29  import org.kuali.ole.coa.businessobject.ProjectCode;
30  import org.kuali.ole.coa.businessobject.SubAccount;
31  import org.kuali.ole.coa.businessobject.SubObjectCode;
32  import org.kuali.ole.sys.businessobject.OriginationCode;
33  import org.kuali.ole.sys.businessobject.SystemOptions;
34  import org.kuali.ole.sys.businessobject.UniversityDate;
35  import org.kuali.ole.sys.context.SpringContext;
36  import org.kuali.rice.core.api.datetime.DateTimeService;
37  import org.kuali.rice.core.api.util.type.KualiDecimal;
38  import org.kuali.rice.kew.api.doctype.DocumentTypeService;
39  import org.kuali.rice.kew.doctype.bo.DocumentType;
40  import org.kuali.rice.kew.doctype.bo.DocumentTypeEBO;
41  import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
42  
43  /**
44   * Represents a G/L entry
45   * 
46   */
47  public class Entry extends PersistableBusinessObjectBase implements Transaction {
48      static final long serialVersionUID = -24983129882357448L;
49  
50      private Integer universityFiscalYear;
51      private String chartOfAccountsCode;
52      private String accountNumber;
53      private String subAccountNumber;
54      private String financialObjectCode;
55      private String financialSubObjectCode;
56      private String financialBalanceTypeCode;
57      private String financialObjectTypeCode;
58      private String universityFiscalPeriodCode;
59      private String financialDocumentTypeCode;
60      private String financialSystemOriginationCode;
61      private String documentNumber;
62      private Integer transactionLedgerEntrySequenceNumber;
63      private String transactionLedgerEntryDescription;
64      private KualiDecimal transactionLedgerEntryAmount;
65      private String transactionDebitCreditCode;
66      private Date transactionDate;
67      private String organizationDocumentNumber;
68      private String projectCode;
69      private String organizationReferenceId;
70      private String referenceFinancialDocumentTypeCode;
71      private String referenceFinancialSystemOriginationCode;
72      private String referenceFinancialDocumentNumber;
73      private Date financialDocumentReversalDate;
74      private String transactionEncumbranceUpdateCode;
75      private Date transactionPostingDate;
76      private Timestamp transactionDateTimeStamp;
77  
78      // bo references
79      private Account account;
80      private SubAccount subAccount;
81      private BalanceType balanceType;
82      private Chart chart;
83      private ObjectCode financialObject;
84      private SubObjectCode financialSubObject;
85      private ObjectType objectType;
86      private ProjectCode project;
87      private DocumentTypeEBO financialSystemDocumentTypeCode;
88      private DocumentTypeEBO referenceFinancialSystemDocumentTypeCode;
89      private UniversityDate universityDate;
90      private SystemOptions option;
91      private AccountingPeriod accountingPeriod;
92      private UniversityDate reversalDate;
93      private OriginationCode originationCode;
94      private OriginationCode referenceOriginationCode;
95  
96      private TransientBalanceInquiryAttributes dummyBusinessObject;
97  
98      /**
99       * 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     @Override
196     public Integer getUniversityFiscalYear() {
197         return universityFiscalYear;
198     }
199 
200     /**
201      * Sets the universityFiscalYear attribute.
202      * 
203      * @param universityFiscalYear The universityFiscalYear to set.
204      */
205     public void setUniversityFiscalYear(Integer universityFiscalYear) {
206         this.universityFiscalYear = universityFiscalYear;
207     }
208 
209     /**
210      * Gets the chartOfAccountsCode attribute.
211      * 
212      * @return Returns the chartOfAccountsCode
213      */
214     @Override
215     public String getChartOfAccountsCode() {
216         return chartOfAccountsCode;
217     }
218 
219     /**
220      * Sets the chartOfAccountsCode attribute.
221      * 
222      * @param chartOfAccountsCode The chartOfAccountsCode to set.
223      */
224     public void setChartOfAccountsCode(String chartOfAccountsCode) {
225         this.chartOfAccountsCode = chartOfAccountsCode;
226     }
227 
228     /**
229      * Gets the financialSystemDocumentTypeCode attribute. 
230      * 
231      * @return Returns the financialSystemDocumentTypeCode.
232      */
233     @Override
234     public DocumentTypeEBO getFinancialSystemDocumentTypeCode() {
235         if ( StringUtils.isBlank( financialDocumentTypeCode ) ) {
236             financialSystemDocumentTypeCode = null;
237         } else {
238             if ( financialSystemDocumentTypeCode == null || !StringUtils.equals(financialDocumentTypeCode, financialSystemDocumentTypeCode.getName() ) ) {
239                 org.kuali.rice.kew.api.doctype.DocumentType temp = SpringContext.getBean(DocumentTypeService.class).getDocumentTypeByName(financialDocumentTypeCode);
240                 if ( temp != null ) {
241                     financialSystemDocumentTypeCode = DocumentType.from( temp );
242                 } else {
243                     financialSystemDocumentTypeCode = null;
244                 }
245             }
246         }
247         return financialSystemDocumentTypeCode;
248     }
249 
250     /**
251      * Gets the accountNumber attribute.
252      * 
253      * @return Returns the accountNumber
254      */
255     @Override
256     public String getAccountNumber() {
257         return accountNumber;
258     }
259 
260     /**
261      * Sets the accountNumber attribute.
262      * 
263      * @param accountNumber The accountNumber to set.
264      */
265     public void setAccountNumber(String accountNumber) {
266         this.accountNumber = accountNumber;
267     }
268 
269     /**
270      * Gets the subAccountNumber attribute.
271      * 
272      * @return Returns the subAccountNumber
273      */
274     @Override
275     public String getSubAccountNumber() {
276         return subAccountNumber;
277     }
278 
279     /**
280      * Sets the subAccountNumber attribute.
281      * 
282      * @param subAccountNumber The subAccountNumber to set.
283      */
284     public void setSubAccountNumber(String subAccountNumber) {
285         this.subAccountNumber = subAccountNumber;
286     }
287 
288     /**
289      * Gets the financialObjectCode attribute.
290      * 
291      * @return Returns the financialObjectCode
292      */
293     @Override
294     public String getFinancialObjectCode() {
295         return financialObjectCode;
296     }
297 
298     /**
299      * Sets the financialObjectCode attribute.
300      * 
301      * @param financialObjectCode The financialObjectCode to set.
302      */
303     public void setFinancialObjectCode(String financialObjectCode) {
304         this.financialObjectCode = financialObjectCode;
305     }
306 
307     /**
308      * Gets the financialSubObjectCode attribute.
309      * 
310      * @return Returns the financialSubObjectCode
311      */
312     @Override
313     public String getFinancialSubObjectCode() {
314         return financialSubObjectCode;
315     }
316 
317     /**
318      * Sets the financialSubObjectCode attribute.
319      * 
320      * @param financialSubObjectCode The financialSubObjectCode to set.
321      */
322     public void setFinancialSubObjectCode(String financialSubObjectCode) {
323         this.financialSubObjectCode = financialSubObjectCode;
324     }
325 
326     /**
327      * Gets the financialBalanceTypeCode attribute.
328      * 
329      * @return Returns the financialBalanceTypeCode
330      */
331     @Override
332     public String getFinancialBalanceTypeCode() {
333         return financialBalanceTypeCode;
334     }
335 
336     /**
337      * Sets the financialBalanceTypeCode attribute.
338      * 
339      * @param financialBalanceTypeCode The financialBalanceTypeCode to set.
340      */
341     public void setFinancialBalanceTypeCode(String financialBalanceTypeCode) {
342         this.financialBalanceTypeCode = financialBalanceTypeCode;
343     }
344 
345     /**
346      * Gets the financialObjectTypeCode attribute.
347      * 
348      * @return Returns the financialObjectTypeCode
349      */
350     @Override
351     public String getFinancialObjectTypeCode() {
352         return financialObjectTypeCode;
353     }
354 
355     /**
356      * Sets the financialObjectTypeCode attribute.
357      * 
358      * @param financialObjectTypeCode The financialObjectTypeCode to set.
359      */
360     public void setFinancialObjectTypeCode(String financialObjectTypeCode) {
361         this.financialObjectTypeCode = financialObjectTypeCode;
362     }
363 
364     /**
365      * Gets the universityFiscalPeriodCode attribute.
366      * 
367      * @return Returns the universityFiscalPeriodCode
368      */
369     @Override
370     public String getUniversityFiscalPeriodCode() {
371         return universityFiscalPeriodCode;
372     }
373 
374     /**
375      * Sets the universityFiscalPeriodCode attribute.
376      * 
377      * @param universityFiscalPeriodCode The universityFiscalPeriodCode to set.
378      */
379     public void setUniversityFiscalPeriodCode(String universityFiscalPeriodCode) {
380         this.universityFiscalPeriodCode = universityFiscalPeriodCode;
381     }
382 
383     /**
384      * Gets the financialDocumentTypeCode attribute.
385      * 
386      * @return Returns the financialDocumentTypeCode
387      */
388     @Override
389     public String getFinancialDocumentTypeCode() {
390         return financialDocumentTypeCode;
391     }
392 
393     /**
394      * Sets the financialDocumentTypeCode attribute.
395      * 
396      * @param financialDocumentTypeCode The financialDocumentTypeCode to set.
397      */
398     public void setFinancialDocumentTypeCode(String financialDocumentTypeCode) {
399         this.financialDocumentTypeCode = financialDocumentTypeCode;
400     }
401 
402     /**
403      * Gets the financialSystemOriginationCode attribute.
404      * 
405      * @return Returns the financialSystemOriginationCode
406      */
407     @Override
408     public String getFinancialSystemOriginationCode() {
409         return financialSystemOriginationCode;
410     }
411 
412     /**
413      * Sets the financialSystemOriginationCode attribute.
414      * 
415      * @param financialSystemOriginationCode The financialSystemOriginationCode to set.
416      */
417     public void setFinancialSystemOriginationCode(String financialSystemOriginationCode) {
418         this.financialSystemOriginationCode = financialSystemOriginationCode;
419     }
420 
421     /**
422      * Gets the documentNumber attribute.
423      * 
424      * @return Returns the documentNumber
425      */
426     @Override
427     public String getDocumentNumber() {
428         return documentNumber;
429     }
430 
431     /**
432      * Sets the documentNumber attribute.
433      * 
434      * @param documentNumber The documentNumber to set.
435      */
436     public void setDocumentNumber(String documentNumber) {
437         this.documentNumber = documentNumber;
438     }
439 
440     /**
441      * Gets the transactionLedgerEntrySequenceNumber attribute.
442      * 
443      * @return Returns the transactionLedgerEntrySequenceNumber
444      */
445     @Override
446     public Integer getTransactionLedgerEntrySequenceNumber() {
447         return transactionLedgerEntrySequenceNumber;
448     }
449 
450     /**
451      * Sets the transactionLedgerEntrySequenceNumber attribute.
452      * 
453      * @param transactionLedgerEntrySequenceNumber The transactionLedgerEntrySequenceNumber to set.
454      */
455     public void setTransactionLedgerEntrySequenceNumber(Integer transactionLedgerEntrySequenceNumber) {
456         this.transactionLedgerEntrySequenceNumber = transactionLedgerEntrySequenceNumber;
457     }
458 
459     /**
460      * Gets the transactionLedgerEntryDescription attribute.
461      * 
462      * @return Returns the transactionLedgerEntryDescription
463      */
464     @Override
465     public String getTransactionLedgerEntryDescription() {
466         return transactionLedgerEntryDescription;
467     }
468 
469     /**
470      * Sets the transactionLedgerEntryDescription attribute.
471      * 
472      * @param transactionLedgerEntryDescription The transactionLedgerEntryDescription to set.
473      */
474     public void setTransactionLedgerEntryDescription(String transactionLedgerEntryDescription) {
475         this.transactionLedgerEntryDescription = transactionLedgerEntryDescription;
476     }
477 
478     /**
479      * Gets the transactionLedgerEntryAmount attribute.
480      * 
481      * @return Returns the transactionLedgerEntryAmount
482      */
483     @Override
484     public KualiDecimal getTransactionLedgerEntryAmount() {
485         return transactionLedgerEntryAmount;
486     }
487 
488     /**
489      * Sets the transactionLedgerEntryAmount attribute.
490      * 
491      * @param transactionLedgerEntryAmount The transactionLedgerEntryAmount to set.
492      */
493     public void setTransactionLedgerEntryAmount(KualiDecimal transactionLedgerEntryAmount) {
494         this.transactionLedgerEntryAmount = transactionLedgerEntryAmount;
495     }
496 
497     /**
498      * Gets the transactionDebitCreditCode attribute.
499      * 
500      * @return Returns the transactionDebitCreditCode
501      */
502     @Override
503     public String getTransactionDebitCreditCode() {
504         if (transactionDebitCreditCode == null) 
505             return " "; 
506         else 
507             return transactionDebitCreditCode;
508     }
509 
510     /**
511      * Sets the transactionDebitCreditCode attribute.
512      * 
513      * @param transactionDebitCreditCode The transactionDebitCreditCode to set.
514      */
515     public void setTransactionDebitCreditCode(String transactionDebitCreditCode) {
516         this.transactionDebitCreditCode = transactionDebitCreditCode;
517     }
518 
519     /**
520      * Gets the transactionDate attribute.
521      * 
522      * @return Returns the transactionDate
523      */
524     @Override
525     public Date getTransactionDate() {
526         return transactionDate;
527     }
528 
529     /**
530      * Sets the transactionDate attribute.
531      * 
532      * @param transactionDate The transactionDate to set.
533      */
534     public void setTransactionDate(Date transactionDate) {
535         this.transactionDate = transactionDate;
536     }
537 
538     /**
539      * Gets the organizationDocumentNumber attribute.
540      * 
541      * @return Returns the organizationDocumentNumber
542      */
543     @Override
544     public String getOrganizationDocumentNumber() {
545         return organizationDocumentNumber;
546     }
547 
548     /**
549      * Sets the organizationDocumentNumber attribute.
550      * 
551      * @param organizationDocumentNumber The organizationDocumentNumber to set.
552      */
553     public void setOrganizationDocumentNumber(String organizationDocumentNumber) {
554         this.organizationDocumentNumber = organizationDocumentNumber;
555     }
556 
557     /**
558      * Gets the projectCode attribute.
559      * 
560      * @return Returns the projectCode
561      */
562     @Override
563     public String getProjectCode() {
564         return projectCode;
565     }
566 
567     /**
568      * Sets the projectCode attribute.
569      * 
570      * @param projectCode The projectCode to set.
571      */
572     public void setProjectCode(String projectCode) {
573         this.projectCode = projectCode;
574     }
575 
576     /**
577      * Gets the organizationReferenceId attribute.
578      * 
579      * @return Returns the organizationReferenceId
580      */
581     @Override
582     public String getOrganizationReferenceId() {
583         return organizationReferenceId;
584     }
585 
586     /**
587      * Sets the organizationReferenceId attribute.
588      * 
589      * @param organizationReferenceId The organizationReferenceId to set.
590      */
591     public void setOrganizationReferenceId(String organizationReferenceId) {
592         this.organizationReferenceId = organizationReferenceId;
593     }
594 
595     /**
596      * Gets the referenceFinancialDocumentTypeCode attribute.
597      * 
598      * @return Returns the referenceFinancialDocumentTypeCode
599      */
600     @Override
601     public String getReferenceFinancialDocumentTypeCode() {
602         return referenceFinancialDocumentTypeCode;
603     }
604 
605     /**
606      * Sets the referenceFinancialDocumentTypeCode attribute.
607      * 
608      * @param referenceFinancialDocumentTypeCode The referenceFinancialDocumentTypeCode to set.
609      */
610     public void setReferenceFinancialDocumentTypeCode(String referenceFinancialDocumentTypeCode) {
611         this.referenceFinancialDocumentTypeCode = referenceFinancialDocumentTypeCode;
612     }
613 
614     /**
615      * Gets the referenceFinancialSystemOriginationCode attribute.
616      * 
617      * @return Returns the referenceFinancialSystemOriginationCode
618      */
619     @Override
620     public String getReferenceFinancialSystemOriginationCode() {
621         return referenceFinancialSystemOriginationCode;
622     }
623 
624     /**
625      * Sets the referenceFinancialSystemOriginationCode attribute.
626      * 
627      * @param referenceFinancialSystemOriginationCode The referenceFinancialSystemOriginationCode to set.
628      */
629     public void setReferenceFinancialSystemOriginationCode(String referenceFinancialSystemOriginationCode) {
630         this.referenceFinancialSystemOriginationCode = referenceFinancialSystemOriginationCode;
631     }
632 
633     /**
634      * Gets the referenceFinancialDocumentNumber attribute.
635      * 
636      * @return Returns the referenceFinancialDocumentNumber
637      */
638     @Override
639     public String getReferenceFinancialDocumentNumber() {
640         return referenceFinancialDocumentNumber;
641     }
642 
643     /**
644      * Sets the referenceFinancialDocumentNumber attribute.
645      * 
646      * @param referenceFinancialDocumentNumber The referenceFinancialDocumentNumber to set.
647      */
648     public void setReferenceFinancialDocumentNumber(String referenceFinancialDocumentNumber) {
649         this.referenceFinancialDocumentNumber = referenceFinancialDocumentNumber;
650     }
651 
652     /**
653      * Gets the financialDocumentReversalDate attribute.
654      * 
655      * @return Returns the financialDocumentReversalDate
656      */
657     @Override
658     public Date getFinancialDocumentReversalDate() {
659         return financialDocumentReversalDate;
660     }
661 
662     /**
663      * Sets the financialDocumentReversalDate attribute.
664      * 
665      * @param financialDocumentReversalDate The financialDocumentReversalDate to set.
666      */
667     public void setFinancialDocumentReversalDate(Date financialDocumentReversalDate) {
668         this.financialDocumentReversalDate = financialDocumentReversalDate;
669     }
670 
671     /**
672      * Gets the transactionEncumbranceUpdateCode attribute.
673      * 
674      * @return Returns the transactionEncumbranceUpdateCode
675      */
676     @Override
677     public String getTransactionEncumbranceUpdateCode() {
678         return transactionEncumbranceUpdateCode;
679     }
680 
681     /**
682      * Sets the transactionEncumbranceUpdateCode attribute.
683      * 
684      * @param transactionEncumbranceUpdateCode The transactionEncumbranceUpdateCode to set.
685      */
686     public void setTransactionEncumbranceUpdateCode(String transactionEncumbranceUpdateCode) {
687         this.transactionEncumbranceUpdateCode = transactionEncumbranceUpdateCode;
688     }
689 
690     /**
691      * Gets the transactionPostingDate attribute.
692      * 
693      * @return Returns the transactionPostingDate
694      */
695     public Date getTransactionPostingDate() {
696         return transactionPostingDate;
697     }
698 
699     /**
700      * Sets the transactionPostingDate attribute.
701      * 
702      * @param transactionPostingDate The transactionPostingDate to set.
703      */
704     public void setTransactionPostingDate(Date transactionPostingDate) {
705         this.transactionPostingDate = transactionPostingDate;
706     }
707 
708     /**
709      * Gets the transactionDateTimeStamp attribute.
710      * 
711      * @return Returns the transactionDateTimeStamp
712      */
713     public Timestamp getTransactionDateTimeStamp() {
714         return transactionDateTimeStamp;
715     }
716 
717     /**
718      * Sets the transactionDateTimeStamp attribute.
719      * 
720      * @param transactionDateTimeStamp The transactionDateTimeStamp to set.
721      */
722     public void setTransactionDateTimeStamp(Timestamp transactionDateTimeStamp) {
723         this.transactionDateTimeStamp = transactionDateTimeStamp;
724     }
725 
726     @Override
727     public Account getAccount() {
728         return account;
729     }
730 
731     @Override
732     public void setAccount(Account account) {
733         this.account = account;
734     }
735 
736     public AccountingPeriod getAccountingPeriod() {
737         return accountingPeriod;
738     }
739 
740     public void setAccountingPeriod(AccountingPeriod accountingPeriod) {
741         this.accountingPeriod = accountingPeriod;
742     }
743 
744     @Override
745     public BalanceType getBalanceType() {
746         return balanceType;
747     }
748 
749     @Override
750     public void setBalanceType(BalanceType balanceType) {
751         this.balanceType = balanceType;
752     }
753 
754     @Override
755     public Chart getChart() {
756         return chart;
757     }
758 
759     @Override
760     public void setChart(Chart chart) {
761         this.chart = chart;
762     }
763 
764     @Override
765     public ObjectCode getFinancialObject() {
766         return financialObject;
767     }
768 
769     @Override
770     public void setFinancialObject(ObjectCode financialObject) {
771         this.financialObject = financialObject;
772     }
773 
774     @Override
775     public SubObjectCode getFinancialSubObject() {
776         return financialSubObject;
777     }
778 
779     public void setFinancialSubObject(SubObjectCode financialSubObject) {
780         this.financialSubObject = financialSubObject;
781     }
782 
783     @Override
784     public ObjectType getObjectType() {
785         return objectType;
786     }
787 
788     @Override
789     public void setObjectType(ObjectType objectType) {
790         this.objectType = objectType;
791     }
792 
793     @Override
794     public SystemOptions getOption() {
795         return option;
796     }
797 
798     @Override
799     public void setOption(SystemOptions option) {
800         this.option = option;
801     }
802 
803     public ProjectCode getProject() {
804         return project;
805     }
806 
807     public void setProject(ProjectCode project) {
808         this.project = project;
809     }
810 
811     public UniversityDate getReversalDate() {
812         return reversalDate;
813     }
814 
815     public void setReversalDate(UniversityDate reversalDate) {
816         this.reversalDate = reversalDate;
817     }
818 
819     @Override
820     public SubAccount getSubAccount() {
821         return subAccount;
822     }
823 
824     public void setSubAccount(SubAccount subAccount) {
825         this.subAccount = subAccount;
826     }
827 
828     public UniversityDate getUniversityDate() {
829         return universityDate;
830     }
831 
832     public void setUniversityDate(UniversityDate universityDate) {
833         this.universityDate = universityDate;
834     }
835 
836     /**
837      * Gets the dummyBusinessObject attribute.
838      * 
839      * @return Returns the dummyBusinessObject.
840      */
841     public TransientBalanceInquiryAttributes getDummyBusinessObject() {
842         return dummyBusinessObject;
843     }
844 
845     /**
846      * Sets the dummyBusinessObject attribute value.
847      * 
848      * @param dummyBusinessObject The dummyBusinessObject to set.
849      */
850     public void setDummyBusinessObject(TransientBalanceInquiryAttributes dummyBusinessObject) {
851         this.dummyBusinessObject = dummyBusinessObject;
852     }
853 
854     /**
855      * Gets the referenceFinancialSystemDocumentTypeCode attribute. 
856      * 
857      * @return Returns the referenceFinancialSystemDocumentTypeCode.
858      */
859     public DocumentTypeEBO getReferenceFinancialSystemDocumentTypeCode() {
860         if ( StringUtils.isBlank( referenceFinancialDocumentTypeCode ) ) {
861             referenceFinancialSystemDocumentTypeCode = null;
862         } else {
863             if ( referenceFinancialSystemDocumentTypeCode == null || !StringUtils.equals(referenceFinancialDocumentTypeCode, referenceFinancialSystemDocumentTypeCode.getName() ) ) {
864                 org.kuali.rice.kew.api.doctype.DocumentType temp = SpringContext.getBean(DocumentTypeService.class).getDocumentTypeByName(referenceFinancialDocumentTypeCode);
865                 if ( temp != null ) {
866                     referenceFinancialSystemDocumentTypeCode = DocumentType.from( temp );
867                 } else {
868                     referenceFinancialSystemDocumentTypeCode = null;
869                 }
870             }
871         }
872         return referenceFinancialSystemDocumentTypeCode;
873     }
874 
875 }