001    /*
002     * Copyright 2011 The Kuali Foundation.
003     * 
004     * Licensed under the Educational Community License, Version 2.0 (the "License");
005     * you may not use this file except in compliance with the License.
006     * You may obtain a copy of the License at
007     * 
008     * http://www.opensource.org/licenses/ecl2.php
009     * 
010     * Unless required by applicable law or agreed to in writing, software
011     * distributed under the License is distributed on an "AS IS" BASIS,
012     * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
013     * See the License for the specific language governing permissions and
014     * limitations under the License.
015     */
016    package org.kuali.kfs.module.endow.businessobject;
017    
018    import org.kuali.kfs.coa.businessobject.Account;
019    import org.kuali.kfs.coa.businessobject.Chart;
020    import org.kuali.kfs.coa.businessobject.ObjectCodeCurrent;
021    import org.kuali.kfs.coa.businessobject.ProjectCode;
022    import org.kuali.kfs.coa.businessobject.SubAccount;
023    import org.kuali.kfs.coa.businessobject.SubObjectCodeCurrent;
024    import org.kuali.rice.kns.bo.PersistableBusinessObject;
025    import org.kuali.rice.kns.util.KualiDecimal;
026    
027    /**
028     * Provides an interface for the accounting lines used in the Transfer of Funds documents in the Endowment module.
029     */
030    public interface EndowmentAccountingLine extends PersistableBusinessObject {
031    
032        /**
033         * Gets the account.
034         * 
035         * @return account
036         */
037        public Account getAccount();
038    
039        /**
040         * @param account The account to set.
041         * @deprecated
042         */
043        public void setAccount(Account account);
044    
045        /**
046         * @return Returns the chartOfAccountsCode.
047         */
048        public Chart getChart();
049    
050        /**
051         * @param chart The chartOfAccountsCode to set.
052         * @deprecated
053         */
054        public void setChart(Chart chart);
055    
056        /**
057         * @param amount The amount to set.
058         */
059        public void setAmount(KualiDecimal amount);
060    
061        /**
062         * @return Returns the amount.
063         */
064        public KualiDecimal getAmount();
065    
066        /**
067         * @param objectCode The objectCode to set.
068         * @deprecated
069         */
070        public void setObjectCode(ObjectCodeCurrent objectCode);
071    
072        /**
073         * Gets the object code.
074         * 
075         * @return objectCode
076         */
077        public ObjectCodeCurrent getObjectCode();
078    
079        /**
080         * @param organizationReferenceId The organizationReferenceId to set.
081         */
082        public void setOrganizationReferenceId(String organizationReferenceId);
083    
084        /**
085         * @param projectCode The projectCode to set.
086         */
087        public void setProjectCode(String projectCode);
088    
089        /**
090         * Gets the projectCode.
091         * 
092         * @return projectCode
093         */
094        public String getProjectCode();
095    
096        /**
097         * @return Returns the accountingLineNumber.
098         */
099        public Integer getAccountingLineNumber();
100    
101        /**
102         * @param accountingLineNumber The accountingLineNumber to set.
103         */
104        public void setAccountingLineNumber(Integer accountingLineNumber);
105    
106        /**
107         * @return Returns the subAccount.
108         */
109        public SubAccount getSubAccount();
110    
111        /**
112         * @param subAccount The subAccount to set.
113         * @deprecated
114         */
115        public void setSubAccount(SubAccount subAccount);
116    
117        /**
118         * @return Returns the subObjectCode.
119         */
120        public SubObjectCodeCurrent getSubObjectCode();
121    
122        /**
123         * @param subObjectCode The subObjectCode to set.
124         * @deprecated
125         */
126        public void setSubObjectCode(SubObjectCodeCurrent subObjectCode);
127    
128        /**
129         * @param documentNumber The documentNumber to set.
130         */
131        public void setDocumentNumber(String documentNumber);
132    
133        /**
134         * @param accountNumber The accountNumber to set.
135         */
136        public void setAccountNumber(String accountNumber);
137    
138        /**
139         * Gets the accountNumber.
140         * 
141         * @return accountNumber
142         */
143        public String getAccountNumber();
144    
145        /**
146         * @param chartOfAccountsCode The chartOfAccountsCode to set.
147         */
148        public void setChartOfAccountsCode(String chartOfAccountsCode);
149    
150        /**
151         * Gets the chartOfAccountsCode.
152         * 
153         * @return chartOfAccountsCode
154         */
155        public String getChartOfAccountsCode();
156    
157        /**
158         * @param financialObjectCode The financialObjectCode to set.
159         */
160        public void setFinancialObjectCode(String financialObjectCode);
161    
162        /**
163         * Gets the financialObjectCode.
164         * 
165         * @return financialObjectCode
166         */
167        public String getFinancialObjectCode();
168    
169        /**
170         * @param financialSubObjectCode The financialSubObjectCode to set.
171         */
172        public void setFinancialSubObjectCode(String financialSubObjectCode);
173    
174        /**
175         * Gets the financialSubObjectCode.
176         * 
177         * @return financialSubObjectCode
178         */
179        public String getFinancialSubObjectCode();
180    
181        /**
182         * @return Returns the financialDocumentLineTypeCode.
183         */
184        public String getFinancialDocumentLineTypeCode();
185    
186        /**
187         * @param financialDocumentLineTypeCode The financialDocumentLineTypeCode to set.
188         */
189        public void setFinancialDocumentLineTypeCode(String financialDocumentLineTypeCode);
190    
191        /**
192         * @return Returns the project.
193         */
194        public ProjectCode getProject();
195    
196        /**
197         * @param project The project to set.
198         * @deprecated
199         */
200        public void setProject(ProjectCode project);
201    
202        /**
203         * @param subAccountNumber The subAccountNumber to set.
204         */
205        public void setSubAccountNumber(String subAccountNumber);
206    
207        /**
208         * Gets the subAccountNumber.
209         * 
210         * @return subAccountNumber
211         */
212        public String getSubAccountNumber();
213    
214        /**
215         * @see org.kuali.rice.kns.bo.AccountingLine#isSourceAccountingLine()
216         */
217        public boolean isSourceAccountingLine();
218    
219        /**
220         * @see org.kuali.rice.kns.bo.AccountingLine#isTargetAccountingLine()
221         */
222        public boolean isTargetAccountingLine();
223    
224    }