001/*
002 * Copyright 2006 The Kuali Foundation
003 * 
004 * Licensed under the Educational Community License, Version 2.0 (the "License");
005 * you may not use this file except in compliance with the License.
006 * You may obtain a copy of the License at
007 * 
008 * http://www.opensource.org/licenses/ecl2.php
009 * 
010 * Unless required by applicable law or agreed to in writing, software
011 * distributed under the License is distributed on an "AS IS" BASIS,
012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013 * See the License for the specific language governing permissions and
014 * limitations under the License.
015 */
016package org.kuali.ole.coa.businessobject;
017
018import java.sql.Date;
019import java.util.Calendar;
020import java.util.List;
021
022import org.kuali.rice.kim.api.identity.Person;
023import org.kuali.rice.location.framework.campus.CampusEbo;
024import org.kuali.rice.location.framework.postalcode.PostalCodeEbo;
025import org.kuali.rice.location.framework.state.StateEbo;
026
027
028public interface AccountIntf {
029
030    /**
031     * This tells if this account is a C&G account.
032     * 
033     * @return true if C&G account
034     */
035    public boolean isForContractsAndGrants();
036
037    /**
038     * Gets the accountNumber attribute.
039     * 
040     * @return Returns the accountNumber
041     */
042    public String getAccountNumber();
043
044    /**
045     * Sets the accountNumber attribute.
046     * 
047     * @param accountNumber The accountNumber to set.
048     */
049    public void setAccountNumber(String accountNumber);
050
051    /**
052     * Gets the accountName attribute.
053     * 
054     * @return Returns the accountName
055     */
056    public String getAccountName();
057
058    /**
059     * Sets the accountName attribute.
060     * 
061     * @param accountName The accountName to set.
062     */
063    public void setAccountName(String accountName);
064
065    /**
066     * Gets the _AccountsFringesBnftIndicator_ attribute.
067     * 
068     * @return Returns the _AccountsFringesBnftIndicator_
069     */
070    public boolean isAccountsFringesBnftIndicator();
071
072    /**
073     * Sets the _AccountsFringesBnftIndicator_ attribute.
074     * 
075     * @param _AccountsFringesBnftIndicator_ The _AccountsFringesBnftIndicator_ to set.
076     */
077    public void setAccountsFringesBnftIndicator(boolean _AccountsFringesBnftIndicator_);
078
079    /**
080     * Gets the accountRestrictedStatusDate attribute.
081     * 
082     * @return Returns the accountRestrictedStatusDate
083     */
084    public Date getAccountRestrictedStatusDate();
085
086    /**
087     * Sets the accountRestrictedStatusDate attribute.
088     * 
089     * @param accountRestrictedStatusDate The accountRestrictedStatusDate to set.
090     */
091    public void setAccountRestrictedStatusDate(Date accountRestrictedStatusDate);
092
093    /**
094     * Gets the accountCityName attribute.
095     * 
096     * @return Returns the accountCityName
097     */
098    public String getAccountCityName();
099
100    /**
101     * Sets the accountCityName attribute.
102     * 
103     * @param accountCityName The accountCityName to set.
104     */
105    public void setAccountCityName(String accountCityName);
106
107    /**
108     * Gets the accountStateCode attribute.
109     * 
110     * @return Returns the accountStateCode
111     */
112    public String getAccountStateCode();
113
114    /**
115     * Sets the accountStateCode attribute.
116     * 
117     * @param accountStateCode The accountStateCode to set.
118     */
119    public void setAccountStateCode(String accountStateCode);
120
121    /**
122     * Gets the accountStreetAddress attribute.
123     * 
124     * @return Returns the accountStreetAddress
125     */
126    public String getAccountStreetAddress();
127
128    /**
129     * Sets the accountStreetAddress attribute.
130     * 
131     * @param accountStreetAddress The accountStreetAddress to set.
132     */
133    public void setAccountStreetAddress(String accountStreetAddress);
134
135    /**
136     * Gets the accountZipCode attribute.
137     * 
138     * @return Returns the accountZipCode
139     */
140    public String getAccountZipCode();
141
142    /**
143     * Sets the accountZipCode attribute.
144     * 
145     * @param accountZipCode The accountZipCode to set.
146     */
147    public void setAccountZipCode(String accountZipCode);
148
149    /**
150     * Gets the accountCreateDate attribute.
151     * 
152     * @return Returns the accountCreateDate
153     */
154    public Date getAccountCreateDate();
155
156    /**
157     * Sets the accountCreateDate attribute.
158     * 
159     * @param accountCreateDate The accountCreateDate to set.
160     */
161    public void setAccountCreateDate(Date accountCreateDate);
162
163    /**
164     * Gets the accountEffectiveDate attribute.
165     * 
166     * @return Returns the accountEffectiveDate
167     */
168    public Date getAccountEffectiveDate();
169
170    /**
171     * Sets the accountEffectiveDate attribute.
172     * 
173     * @param accountEffectiveDate The accountEffectiveDate to set.
174     */
175    public void setAccountEffectiveDate(Date accountEffectiveDate);
176
177    /**
178     * Gets the accountExpirationDate attribute.
179     * 
180     * @return Returns the accountExpirationDate
181     */
182    public Date getAccountExpirationDate();
183
184    /**
185     * Sets the accountExpirationDate attribute.
186     * 
187     * @param accountExpirationDate The accountExpirationDate to set.
188     */
189    public void setAccountExpirationDate(Date accountExpirationDate);
190
191    /**
192     * This method determines whether the account is expired or not. Note that if Expiration Date is the same as today, then this
193     * will return false. It will only return true if the account expiration date is one day earlier than today or earlier. Note
194     * that this logic ignores all time components when doing the comparison. It only does the before/after comparison based on date
195     * values, not time-values.
196     * 
197     * @return true or false based on the logic outlined above
198     */
199    public boolean isExpired();
200
201    /**
202     * This method determines whether the account is expired or not. Note that if Expiration Date is the same date as testDate, then
203     * this will return false. It will only return true if the account expiration date is one day earlier than testDate or earlier.
204     * Note that this logic ignores all time components when doing the comparison. It only does the before/after comparison based on
205     * date values, not time-values.
206     * 
207     * @param testDate - Calendar instance with the date to test the Account's Expiration Date against. This is most commonly set to
208     *        today's date.
209     * @return true or false based on the logic outlined above
210     */
211    public boolean isExpired(Calendar testDate);
212
213    /**
214     * This method determines whether the account is expired or not. Note that if Expiration Date is the same date as testDate, then
215     * this will return false. It will only return true if the account expiration date is one day earlier than testDate or earlier.
216     * Note that this logic ignores all time components when doing the comparison. It only does the before/after comparison based on
217     * date values, not time-values.
218     * 
219     * @param testDate - java.util.Date instance with the date to test the Account's Expiration Date against. This is most commonly
220     *        set to today's date.
221     * @return true or false based on the logic outlined above
222     */
223    public boolean isExpired(Date testDate);
224
225    /**
226     * Gets the acctIndirectCostRcvyTypeCd attribute.
227     * 
228     * @return Returns the acctIndirectCostRcvyTypeCd
229     */
230    public String getAcctIndirectCostRcvyTypeCd();
231
232    /**
233     * Sets the acctIndirectCostRcvyTypeCd attribute.
234     * 
235     * @param acctIndirectCostRcvyTypeCd The acctIndirectCostRcvyTypeCd to set.
236     */
237    public void setAcctIndirectCostRcvyTypeCd(String acctIndirectCostRcvyTypeCd);
238
239    /**
240     * Gets the acctCustomIndCstRcvyExclCd attribute.
241     * 
242     * @return Returns the acctCustomIndCstRcvyExclCd
243     */
244    public String getAcctCustomIndCstRcvyExclCd();
245
246    /**
247     * Sets the acctCustomIndCstRcvyExclCd attribute.
248     * 
249     * @param acctCustomIndCstRcvyExclCd The acctCustomIndCstRcvyExclCd to set.
250     */
251    public void setAcctCustomIndCstRcvyExclCd(String acctCustomIndCstRcvyExclCd);
252
253    /**
254     * Gets the financialIcrSeriesIdentifier attribute.
255     * 
256     * @return Returns the financialIcrSeriesIdentifier
257     */
258    public String getFinancialIcrSeriesIdentifier();
259
260    /**
261     * Sets the financialIcrSeriesIdentifier attribute.
262     * 
263     * @param financialIcrSeriesIdentifier The financialIcrSeriesIdentifier to set.
264     */
265    public void setFinancialIcrSeriesIdentifier(String financialIcrSeriesIdentifier);
266
267    /**
268     * Gets the accountInFinancialProcessingIndicator attribute.
269     * 
270     * @return Returns the accountInFinancialProcessingIndicator
271     */
272    public boolean getAccountInFinancialProcessingIndicator();
273
274    /**
275     * Sets the accountInFinancialProcessingIndicator attribute.
276     * 
277     * @param accountInFinancialProcessingIndicator The accountInFinancialProcessingIndicator to set.
278     */
279    public void setAccountInFinancialProcessingIndicator(boolean accountInFinancialProcessingIndicator);
280
281    /**
282     * Gets the budgetRecordingLevelCode attribute.
283     * 
284     * @return Returns the budgetRecordingLevelCode
285     */
286    public String getBudgetRecordingLevelCode();
287
288    /**
289     * Sets the budgetRecordingLevelCode attribute.
290     * 
291     * @param budgetRecordingLevelCode The budgetRecordingLevelCode to set.
292     */
293    public void setBudgetRecordingLevelCode(String budgetRecordingLevelCode);
294
295    /**
296     * Gets the accountSufficientFundsCode attribute.
297     * 
298     * @return Returns the accountSufficientFundsCode
299     */
300    public String getAccountSufficientFundsCode();
301
302    /**
303     * Sets the accountSufficientFundsCode attribute.
304     * 
305     * @param accountSufficientFundsCode The accountSufficientFundsCode to set.
306     */
307    public void setAccountSufficientFundsCode(String accountSufficientFundsCode);
308
309    /**
310     * Gets the pendingAcctSufficientFundsIndicator attribute.
311     * 
312     * @return Returns the pendingAcctSufficientFundsIndicator
313     */
314    public boolean isPendingAcctSufficientFundsIndicator();
315
316    /**
317     * Sets the pendingAcctSufficientFundsIndicator attribute.
318     * 
319     * @param pendingAcctSufficientFundsIndicator The pendingAcctSufficientFundsIndicator to set.
320     */
321    public void setPendingAcctSufficientFundsIndicator(boolean pendingAcctSufficientFundsIndicator);
322
323    /**
324     * Gets the extrnlFinEncumSufficntFndIndicator attribute.
325     * 
326     * @return Returns the extrnlFinEncumSufficntFndIndicator
327     */
328    public boolean isExtrnlFinEncumSufficntFndIndicator();
329
330    /**
331     * Sets the extrnlFinEncumSufficntFndIndicator attribute.
332     * 
333     * @param extrnlFinEncumSufficntFndIndicator The extrnlFinEncumSufficntFndIndicator to set.
334     */
335    public void setExtrnlFinEncumSufficntFndIndicator(boolean extrnlFinEncumSufficntFndIndicator);
336
337    /**
338     * Gets the intrnlFinEncumSufficntFndIndicator attribute.
339     * 
340     * @return Returns the intrnlFinEncumSufficntFndIndicator
341     */
342    public boolean isIntrnlFinEncumSufficntFndIndicator();
343
344    /**
345     * Sets the intrnlFinEncumSufficntFndIndicator attribute.
346     * 
347     * @param intrnlFinEncumSufficntFndIndicator The intrnlFinEncumSufficntFndIndicator to set.
348     */
349    public void setIntrnlFinEncumSufficntFndIndicator(boolean intrnlFinEncumSufficntFndIndicator);
350
351    /**
352     * Gets the finPreencumSufficientFundIndicator attribute.
353     * 
354     * @return Returns the finPreencumSufficientFundIndicator
355     */
356    public boolean isFinPreencumSufficientFundIndicator();
357
358    /**
359     * Sets the finPreencumSufficientFundIndicator attribute.
360     * 
361     * @param finPreencumSufficientFundIndicator The finPreencumSufficientFundIndicator to set.
362     */
363    public void setFinPreencumSufficientFundIndicator(boolean finPreencumSufficientFundIndicator);
364
365    /**
366     * Gets the _FinancialObjectivePrsctrlIndicator_ attribute.
367     * 
368     * @return Returns the _FinancialObjectivePrsctrlIndicator_
369     */
370    public boolean isFinancialObjectivePrsctrlIndicator();
371
372    /**
373     * Sets the _FinancialObjectivePrsctrlIndicator_ attribute.
374     * 
375     * @param _FinancialObjectivePrsctrlIndicator_ The _FinancialObjectivePrsctrlIndicator_ to set.
376     */
377    public void setFinancialObjectivePrsctrlIndicator(boolean _FinancialObjectivePrsctrlIndicator_);
378
379    /**
380     * Gets the accountCfdaNumber attribute.
381     * 
382     * @return Returns the accountCfdaNumber
383     */
384    public String getAccountCfdaNumber();
385
386    /**
387     * Sets the accountCfdaNumber attribute.
388     * 
389     * @param accountCfdaNumber The accountCfdaNumber to set.
390     */
391    public void setAccountCfdaNumber(String accountCfdaNumber);
392
393    /**
394     * Gets the accountOffCampusIndicator attribute.
395     * 
396     * @return Returns the accountOffCampusIndicator
397     */
398    public boolean isAccountOffCampusIndicator();
399
400    /**
401     * Sets the accountOffCampusIndicator attribute.
402     * 
403     * @param accountOffCampusIndicator The accountOffCampusIndicator to set.
404     */
405    public void setAccountOffCampusIndicator(boolean accountOffCampusIndicator);
406
407    /**
408     * Gets the active attribute.
409     * 
410     * @return Returns the active
411     */
412    public boolean isActive();
413
414    /**
415     * Sets the active attribute.
416     * 
417     * @param active The active to set.
418     */
419    public void setActive(boolean active);
420
421    /**
422     * Gets the chartOfAccounts attribute.
423     * 
424     * @return Returns the chartOfAccounts
425     */
426    public Chart getChartOfAccounts();
427
428    /**
429     * Sets the chartOfAccounts attribute.
430     * 
431     * @param chartOfAccounts The chartOfAccounts to set.
432     * @deprecated
433     */
434    public void setChartOfAccounts(Chart chartOfAccounts);
435
436    /**
437     * Gets the organization attribute.
438     * 
439     * @return Returns the organization
440     */
441    public Organization getOrganization();
442
443    /**
444     * Sets the organization attribute.
445     * 
446     * @param organization The organization to set.
447     * @deprecated
448     */
449    public void setOrganization(Organization organization);
450
451    /**
452     * Gets the accountType attribute.
453     * 
454     * @return Returns the accountType
455     */
456    public AccountType getAccountType();
457
458    /**
459     * Sets the accountType attribute.
460     * 
461     * @param accountType The accountType to set.
462     * @deprecated
463     */
464    public void setAccountType(AccountType accountType);
465
466    /**
467     * Gets the accountPhysicalCampus attribute.
468     * 
469     * @return Returns the accountPhysicalCampus
470     */
471    public CampusEbo getAccountPhysicalCampus();
472
473    /**
474     * Sets the accountPhysicalCampus attribute.
475     * 
476     * @param accountPhysicalCampus The accountPhysicalCampus to set.
477     * @deprecated
478     */
479    public void setAccountPhysicalCampus(CampusEbo accountPhysicalCampus);
480
481    /**
482     * Gets the accountState attribute
483     * 
484     * @return Returns the accountState
485     */
486    public StateEbo getAccountState();
487
488    /**
489     * Sets the accountState attribute
490     * 
491     * @param state
492     * @deprecated
493     */
494    public void setAccountState(StateEbo state);
495
496    /**
497     * Gets the subFundGroup attribute.
498     * 
499     * @return Returns the subFundGroup
500     */
501    public SubFundGroup getSubFundGroup();
502
503    /**
504     * Sets the subFundGroup attribute.
505     * 
506     * @param subFundGroup The subFundGroup to set.
507     * @deprecated
508     */
509    public void setSubFundGroup(SubFundGroup subFundGroup);
510
511    /**
512     * Gets the financialHigherEdFunction attribute.
513     * 
514     * @return Returns the financialHigherEdFunction
515     */
516    public HigherEducationFunction getFinancialHigherEdFunction();
517
518    /**
519     * Sets the financialHigherEdFunction attribute.
520     * 
521     * @param financialHigherEdFunction The financialHigherEdFunction to set.
522     * @deprecated
523     */
524    public void setFinancialHigherEdFunction(HigherEducationFunction financialHigherEdFunction);
525
526    /**
527     * Gets the accountRestrictedStatus attribute.
528     * 
529     * @return Returns the accountRestrictedStatus
530     */
531    public RestrictedStatus getAccountRestrictedStatus();
532
533    /**
534     * Sets the accountRestrictedStatus attribute.
535     * 
536     * @param accountRestrictedStatus The accountRestrictedStatus to set.
537     * @deprecated
538     */
539    public void setAccountRestrictedStatus(RestrictedStatus accountRestrictedStatus);
540
541    /**
542     * Gets the reportsToAccount attribute.
543     * 
544     * @return Returns the reportsToAccount
545     */
546    public Account getReportsToAccount();
547
548    /**
549     * Sets the reportsToAccount attribute.
550     * 
551     * @param reportsToAccount The reportsToAccount to set.
552     * @deprecated
553     */
554    public void setReportsToAccount(Account reportsToAccount);
555
556    /**
557     * Gets the endowmentIncomeAccount attribute.
558     * 
559     * @return Returns the endowmentIncomeAccount
560     */
561    public Account getEndowmentIncomeAccount();
562
563    /**
564     * Sets the endowmentIncomeAccount attribute.
565     * 
566     * @param endowmentIncomeAccount The endowmentIncomeAccount to set.
567     * @deprecated
568     */
569    public void setEndowmentIncomeAccount(Account endowmentIncomeAccount);
570
571    /**
572     * Gets the contractControlAccount attribute.
573     * 
574     * @return Returns the contractControlAccount
575     */
576    public Account getContractControlAccount();
577
578    /**
579     * Sets the contractControlAccount attribute.
580     * 
581     * @param contractControlAccount The contractControlAccount to set.
582     * @deprecated
583     */
584    public void setContractControlAccount(Account contractControlAccount);
585
586    /**
587     * Gets the incomeStreamAccount attribute.
588     * 
589     * @return Returns the incomeStreamAccount
590     */
591    public Account getIncomeStreamAccount();
592
593    /**
594     * Sets the incomeStreamAccount attribute.
595     * 
596     * @param incomeStreamAccount The incomeStreamAccount to set.
597     * @deprecated
598     */
599    public void setIncomeStreamAccount(Account incomeStreamAccount);
600
601    /**
602     * @return Returns the accountFiscalOfficerUser.
603     */
604    public Person getAccountFiscalOfficerUser();
605
606    /**
607     * @param accountFiscalOfficerUser The accountFiscalOfficerUser to set.
608     * @deprecated
609     */
610    public void setAccountFiscalOfficerUser(Person accountFiscalOfficerUser);
611
612    /**
613     * @return Returns the accountManagerUser.
614     */
615    public Person getAccountManagerUser();
616
617    /**
618     * @param accountManagerUser The accountManagerUser to set.
619     * @deprecated
620     */
621    public void setAccountManagerUser(Person accountManagerUser);
622
623    /**
624     * @return Returns the accountSupervisoryUser.
625     */
626    public Person getAccountSupervisoryUser();
627
628    /**
629     * @param accountSupervisoryUser The accountSupervisoryUser to set.
630     * @deprecated
631     */
632    public void setAccountSupervisoryUser(Person accountSupervisoryUser);
633
634    /**
635     * @return Returns the continuationAccount.
636     */
637    public Account getContinuationAccount();
638
639    /**
640     * @param continuationAccount The continuationAccount to set.
641     * @deprecated
642     */
643    public void setContinuationAccount(Account continuationAccount);
644
645
646    /**
647     * @return Returns the accountGuideline.
648     */
649    public AccountGuideline getAccountGuideline();
650
651    /**
652     * @param accountGuideline The accountGuideline to set.
653     * @deprecated
654     */
655    public void setAccountGuideline(AccountGuideline accountGuideline);
656
657    /**
658     * Gets the accountDescription attribute.
659     * 
660     * @return Returns the accountDescription.
661     */
662    public AccountDescription getAccountDescription();
663
664    /**
665     * Sets the accountDescription attribute value.
666     * 
667     * @param accountDescription The accountDescription to set.
668     */
669    public void setAccountDescription(AccountDescription accountDescription);
670
671    /**
672     * @return Returns the subAccounts.
673     */
674    public List getSubAccounts();
675
676    /**
677     * @param subAccounts The subAccounts to set.
678     */
679    public void setSubAccounts(List subAccounts);
680
681    /**
682     * @return Returns the chartOfAccountsCode.
683     */
684    public String getChartOfAccountsCode();
685
686    /**
687     * @param chartOfAccountsCode The chartOfAccountsCode to set.
688     */
689    public void setChartOfAccountsCode(String chartOfAccountsCode);
690
691    /**
692     * @return Returns the accountFiscalOfficerSystemIdentifier.
693     */
694    public String getAccountFiscalOfficerSystemIdentifier();
695
696    /**
697     * @param accountFiscalOfficerSystemIdentifier The accountFiscalOfficerSystemIdentifier to set.
698     */
699    public void setAccountFiscalOfficerSystemIdentifier(String accountFiscalOfficerSystemIdentifier);
700
701    /**
702     * @return Returns the accountManagerSystemIdentifier.
703     */
704    public String getAccountManagerSystemIdentifier();
705
706    /**
707     * @param accountManagerSystemIdentifier The accountManagerSystemIdentifier to set.
708     */
709    public void setAccountManagerSystemIdentifier(String accountManagerSystemIdentifier);
710
711    /**
712     * @return Returns the accountPhysicalCampusCode.
713     */
714    public String getAccountPhysicalCampusCode();
715
716    /**
717     * @param accountPhysicalCampusCode The accountPhysicalCampusCode to set.
718     */
719    public void setAccountPhysicalCampusCode(String accountPhysicalCampusCode);
720
721    /**
722     * @return Returns the accountRestrictedStatusCode.
723     */
724    public String getAccountRestrictedStatusCode();
725
726    /**
727     * @param accountRestrictedStatusCode The accountRestrictedStatusCode to set.
728     */
729    public void setAccountRestrictedStatusCode(String accountRestrictedStatusCode);
730
731    /**
732     * @return Returns the accountsSupervisorySystemsIdentifier.
733     */
734    public String getAccountsSupervisorySystemsIdentifier();
735
736    /**
737     * @param accountsSupervisorySystemsIdentifier The accountsSupervisorySystemsIdentifier to set.
738     */
739    public void setAccountsSupervisorySystemsIdentifier(String accountsSupervisorySystemsIdentifier);
740
741    /**
742     * @return Returns the accountTypeCode.
743     */
744    public String getAccountTypeCode();
745
746    /**
747     * @param accountTypeCode The accountTypeCode to set.
748     */
749    public void setAccountTypeCode(String accountTypeCode);
750
751    /**
752     * @return Returns the continuationAccountNumber.
753     */
754    public String getContinuationAccountNumber();
755
756    /**
757     * @param continuationAccountNumber The continuationAccountNumber to set.
758     */
759    public void setContinuationAccountNumber(String continuationAccountNumber);
760
761    /**
762     * @return Returns the continuationFinChrtOfAcctCd.
763     */
764    public String getContinuationFinChrtOfAcctCd();
765
766    /**
767     * @param continuationFinChrtOfAcctCd The continuationFinChrtOfAcctCd to set.
768     */
769    public void setContinuationFinChrtOfAcctCd(String continuationFinChrtOfAcctCd);
770
771    /**
772     * @return Returns the contractControlAccountNumber.
773     */
774    public String getContractControlAccountNumber();
775
776    /**
777     * @param contractControlAccountNumber The contractControlAccountNumber to set.
778     */
779    public void setContractControlAccountNumber(String contractControlAccountNumber);
780
781    /**
782     * @return Returns the contractControlFinCoaCode.
783     */
784    public String getContractControlFinCoaCode();
785
786    /**
787     * @param contractControlFinCoaCode The contractControlFinCoaCode to set.
788     */
789    public void setContractControlFinCoaCode(String contractControlFinCoaCode);
790
791    /**
792     * @return Returns the endowmentIncomeAccountNumber.
793     */
794    public String getEndowmentIncomeAccountNumber();
795
796    /**
797     * @param endowmentIncomeAccountNumber The endowmentIncomeAccountNumber to set.
798     */
799    public void setEndowmentIncomeAccountNumber(String endowmentIncomeAccountNumber);
800
801    /**
802     * @return Returns the endowmentIncomeAcctFinCoaCd.
803     */
804    public String getEndowmentIncomeAcctFinCoaCd();
805
806    /**
807     * @param endowmentIncomeAcctFinCoaCd The endowmentIncomeAcctFinCoaCd to set.
808     */
809    public void setEndowmentIncomeAcctFinCoaCd(String endowmentIncomeAcctFinCoaCd);
810
811    /**
812     * @return Returns the financialHigherEdFunctionCd.
813     */
814    public String getFinancialHigherEdFunctionCd();
815
816    /**
817     * @param financialHigherEdFunctionCd The financialHigherEdFunctionCd to set.
818     */
819    public void setFinancialHigherEdFunctionCd(String financialHigherEdFunctionCd);
820
821    /**
822     * @return Returns the incomeStreamAccountNumber.
823     */
824    public String getIncomeStreamAccountNumber();
825
826    /**
827     * @param incomeStreamAccountNumber The incomeStreamAccountNumber to set.
828     */
829    public void setIncomeStreamAccountNumber(String incomeStreamAccountNumber);
830
831    /**
832     * @return Returns the incomeStreamFinancialCoaCode.
833     */
834    public String getIncomeStreamFinancialCoaCode();
835
836    /**
837     * @param incomeStreamFinancialCoaCode The incomeStreamFinancialCoaCode to set.
838     */
839    public void setIncomeStreamFinancialCoaCode(String incomeStreamFinancialCoaCode);
840
841    /**
842     * @return
843     */
844    public List<? extends IndirectCostRecoveryAccount> getIndirectCostRecoveryAccounts();
845    
846    /**
847     * @param indirectCostRecoveryAccounts The indirectCostRecoveryAccounts to set.
848     */
849    public void setIndirectCostRecoveryAccounts(List<? extends IndirectCostRecoveryAccount> indirectCostRecoveryAccounts);
850    
851    /**
852     * @return Returns the organizationCode.
853     */
854    public String getOrganizationCode();
855
856    /**
857     * @param organizationCode The organizationCode to set.
858     */
859    public void setOrganizationCode(String organizationCode);
860
861    /**
862     * @return Returns the reportsToAccountNumber.
863     */
864    public String getReportsToAccountNumber();
865
866    /**
867     * @param reportsToAccountNumber The reportsToAccountNumber to set.
868     */
869    public void setReportsToAccountNumber(String reportsToAccountNumber);
870
871    /**
872     * @return Returns the reportsToChartOfAccountsCode.
873     */
874    public String getReportsToChartOfAccountsCode();
875
876    /**
877     * @param reportsToChartOfAccountsCode The reportsToChartOfAccountsCode to set.
878     */
879    public void setReportsToChartOfAccountsCode(String reportsToChartOfAccountsCode);
880
881    /**
882     * @return Returns the subFundGroupCode.
883     */
884    public String getSubFundGroupCode();
885
886    /**
887     * @param subFundGroupCode The subFundGroupCode to set.
888     */
889    public void setSubFundGroupCode(String subFundGroupCode);
890
891    /**
892     * Gets the postalZipCode attribute.
893     * 
894     * @return Returns the postalZipCode.
895     */
896    public PostalCodeEbo getPostalZipCode();
897
898    /**
899     * Sets the postalZipCode attribute value.
900     * 
901     * @param postalZipCode The postalZipCode to set.
902     */
903    public void setPostalZipCode(PostalCodeEbo postalZipCode);
904
905    /**
906     * Gets the budgetRecordingLevel attribute.
907     * 
908     * @return Returns the budgetRecordingLevel.
909     */
910    public BudgetRecordingLevel getBudgetRecordingLevel();
911
912    /**
913     * Sets the budgetRecordingLevel attribute value.
914     * 
915     * @param budgetRecordingLevel The budgetRecordingLevel to set.
916     */
917    public void setBudgetRecordingLevel(BudgetRecordingLevel budgetRecordingLevel);
918
919    /**
920     * Gets the sufficientFundsCode attribute.
921     * 
922     * @return Returns the sufficientFundsCode.
923     */
924    public SufficientFundsCode getSufficientFundsCode();
925
926    /**
927     * Sets the sufficientFundsCode attribute value.
928     * 
929     * @param sufficientFundsCode The sufficientFundsCode to set.
930     */
931    public void setSufficientFundsCode(SufficientFundsCode sufficientFundsCode);
932
933    /**
934     * Implementing equals since I need contains to behave reasonably in a hashed datastructure.
935     * 
936     * @see java.lang.Object#equals(java.lang.Object)
937     */
938    public boolean equals(Object obj);
939
940    /**
941     * Calcluates hashCode based on current values of chartOfAccountsCode and accountNumber fields. Somewhat dangerous, since both
942     * of those fields are mutable, but I don't expect people to be editing those values directly for Accounts stored in hashed
943     * datastructures.
944     * 
945     * @see java.lang.Object#hashCode()
946     */
947    public int hashCode();
948
949    /**
950     * Convenience method to make the primitive account fields from this Account easier to compare to the account fields from
951     * another Account or an AccountingLine
952     * 
953     * @return String representing the account associated with this Accounting
954     */
955    public String getAccountKey();
956
957    /**
958     * Gets the dummy attribute.
959     * 
960     * @return Returns the dummy.
961     */
962
963    /**
964     * Gets the accountResponsibilitySection attribute.
965     * 
966     * @return Returns the accountResponsibilitySection.
967     */
968    public String getAccountResponsibilitySection();
969
970    /**
971     * Sets the accountResponsibilitySection attribute value.
972     * 
973     * @param accountResponsibilitySection The accountResponsibilitySection to set.
974     */
975    public void setAccountResponsibilitySection(String accountResponsibilitySection);
976
977    /**
978     * Gets the contractsAndGrantsSection attribute.
979     * 
980     * @return Returns the contractsAndGrantsSection.
981     */
982    public String getContractsAndGrantsSection();
983
984    /**
985     * Sets the contractsAndGrantsSection attribute value.
986     * 
987     * @param contractsAndGrantsSection The contractsAndGrantsSection to set.
988     */
989    public void setContractsAndGrantsSection(String contractsAndGrantsSection);
990
991    /**
992     * Gets the accountDescriptionSection attribute.
993     * 
994     * @return Returns the accountDescriptionSection.
995     */
996    public String getAccountDescriptionSection();
997
998    /**
999     * Sets the accountDescriptionSection attribute value.
1000     * 
1001     * @param accountDescriptionSection The accountDescriptionSection to set.
1002     */
1003    public void setAccountDescriptionSection(String accountDescriptionSection);
1004
1005    /**
1006     * Gets the guidelinesAndPurposeSection attribute.
1007     * 
1008     * @return Returns the guidelinesAndPurposeSection.
1009     */
1010    public String getGuidelinesAndPurposeSection();
1011
1012    /**
1013     * Sets the guidelinesAndPurposeSection attribute value.
1014     * 
1015     * @param guidelinesAndPurposeSection The guidelinesAndPurposeSection to set.
1016     */
1017    public void setGuidelinesAndPurposeSection(String guidelinesAndPurposeSection);
1018
1019    /**
1020     * Gets the accountResponsibilitySectionBlank attribute.
1021     * 
1022     * @return Returns the accountResponsibilitySectionBlank.
1023     */
1024    public String getAccountResponsibilitySectionBlank();
1025
1026    /**
1027     * Gets the contractsAndGrantsSectionBlank attribute.
1028     * 
1029     * @return Returns the contractsAndGrantsSectionBlank.
1030     */
1031    public String getContractsAndGrantsSectionBlank();
1032
1033    /**
1034     * Gets the accountDescriptionSectionBlank attribute.
1035     * 
1036     * @return Returns the accountDescriptionSectionBlank.
1037     */
1038    public String getAccountDescriptionSectionBlank();
1039
1040    /**
1041     * Gets the guidelinesAndPurposeSectionBlank attribute.
1042     * 
1043     * @return Returns the guidelinesAndPurposeSectionBlank.
1044     */
1045    public String getGuidelinesAndPurposeSectionBlank();
1046    
1047    /**
1048     * @return if the account like entity is closed or not
1049     */
1050    public abstract boolean isClosed();
1051
1052}