001/* 002 * The Kuali Financial System, a comprehensive financial management system for higher education. 003 * 004 * Copyright 2005-2014 The Kuali Foundation 005 * 006 * This program is free software: you can redistribute it and/or modify 007 * it under the terms of the GNU Affero General Public License as 008 * published by the Free Software Foundation, either version 3 of the 009 * License, or (at your option) any later version. 010 * 011 * This program is distributed in the hope that it will be useful, 012 * but WITHOUT ANY WARRANTY; without even the implied warranty of 013 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 014 * GNU Affero General Public License for more details. 015 * 016 * You should have received a copy of the GNU Affero General Public License 017 * along with this program. If not, see <http://www.gnu.org/licenses/>. 018 */ 019package org.kuali.kfs.gl.businessobject; 020 021import org.kuali.kfs.coa.businessobject.Account; 022 023/** 024 * An interface that declares the methods that a Business Object must implement, if it should have its flexible offset account updated by 025 * the FlexibleOffsetAccountService. 026 * @see org.kuali.kfs.sys.service.FlexibleOffsetAccountService 027 */ 028public interface FlexibleAccountUpdateable { 029 /** 030 * Returns the university fiscal year of the business object to update 031 * @return a valid university fiscal year 032 */ 033 public abstract Integer getUniversityFiscalYear(); 034 /** 035 * Returns the chart of accounts code of the business object to update 036 * @return a valid chart of accounts code 037 */ 038 public abstract String getChartOfAccountsCode(); 039 /** 040 * Returns the account number of the business object to update 041 * @return a valid account number 042 */ 043 public abstract String getAccountNumber(); 044 /** 045 * Returns the balance type code of the business object to update 046 * @return a valid balance type code 047 */ 048 public abstract String getFinancialBalanceTypeCode(); 049 /** 050 * Returns the document type code of the business object to update 051 * @return a valid document code 052 */ 053 public abstract String getFinancialDocumentTypeCode(); 054 055 /** 056 * Returns the object code of the business object to update 057 * @return a valid object code 058 */ 059 public abstract String getFinancialObjectCode(); 060 061 /** 062 * Sets the business object's account attribute 063 * @param a an account business object to set 064 */ 065 public abstract void setAccount(Account a); 066 /** 067 * Sets the chart of accounts code of the business object 068 * @param chartCode the chart code to set 069 */ 070 public abstract void setChartOfAccountsCode(String chartCode); 071 /** 072 * Sets the account number of the business object 073 * @param accountNumber the account number to set 074 */ 075 public abstract void setAccountNumber(String accountNumber); 076 /** 077 * Sets the sub-account number of the business object 078 * @param subAccountNumber the sub account number to set 079 */ 080 public abstract void setSubAccountNumber(String subAccountNumber); 081 /** 082 * Sets the financial sub-object code of the business object 083 * @param financialSubObjectCode the financial sub-object code to set 084 */ 085 public abstract void setFinancialSubObjectCode(String financialSubObjectCode); 086}