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