1 /*
2 * Copyright 2007-2008 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 package org.kuali.ole.gl.businessobject;
17
18 import org.kuali.ole.coa.businessobject.Account;
19
20 /**
21 * An interface that declares the methods that a Business Object must implement, if it should have its flexible offset account updated by
22 * the FlexibleOffsetAccountService.
23 * @see org.kuali.ole.sys.service.FlexibleOffsetAccountService
24 */
25 public interface FlexibleAccountUpdateable {
26 /**
27 * Returns the university fiscal year of the business object to update
28 * @return a valid university fiscal year
29 */
30 public abstract Integer getUniversityFiscalYear();
31 /**
32 * Returns the chart of accounts code of the business object to update
33 * @return a valid chart of accounts code
34 */
35 public abstract String getChartOfAccountsCode();
36 /**
37 * Returns the account number of the business object to update
38 * @return a valid account number
39 */
40 public abstract String getAccountNumber();
41 /**
42 * Returns the balance type code of the business object to update
43 * @return a valid balance type code
44 */
45 public abstract String getFinancialBalanceTypeCode();
46 /**
47 * Returns the document type code of the business object to update
48 * @return a valid document code
49 */
50 public abstract String getFinancialDocumentTypeCode();
51
52 /**
53 * Returns the object code of the business object to update
54 * @return a valid object code
55 */
56 public abstract String getFinancialObjectCode();
57
58 /**
59 * Sets the business object's account attribute
60 * @param a an account business object to set
61 */
62 public abstract void setAccount(Account a);
63 /**
64 * Sets the chart of accounts code of the business object
65 * @param chartCode the chart code to set
66 */
67 public abstract void setChartOfAccountsCode(String chartCode);
68 /**
69 * Sets the account number of the business object
70 * @param accountNumber the account number to set
71 */
72 public abstract void setAccountNumber(String accountNumber);
73 /**
74 * Sets the sub-account number of the business object
75 * @param subAccountNumber the sub account number to set
76 */
77 public abstract void setSubAccountNumber(String subAccountNumber);
78 /**
79 * Sets the financial sub-object code of the business object
80 * @param financialSubObjectCode the financial sub-object code to set
81 */
82 public abstract void setFinancialSubObjectCode(String financialSubObjectCode);
83 }