/* * The Kuali Financial System, a comprehensive financial management system for higher education. * * Copyright 2005-2014 The Kuali Foundation * * This program is free software: you can redistribute it and/or modify * it under the terms of the GNU Affero General Public License as * published by the Free Software Foundation, either version 3 of the * License, or (at your option) any later version. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License * along with this program. If not, see <http://www.gnu.org/licenses/>. */ package org.kuali.kfs.gl.businessobject; import java.sql.Date; import org.kuali.rice.krad.util.ObjectUtils; /** * General Ledger business object for BalanceHistory. */ public class BalanceHistory extends Balance implements LedgerBalanceHistory { /** * Default constructor. */ public BalanceHistory() { super(); } /** * Constructs a BalanceHistory.java. * * @param transaction */ public BalanceHistory(OriginEntryInformation originEntry) { this(); this.setChartOfAccountsCode(originEntry.getChartOfAccountsCode()); this.setAccountNumber(originEntry.getAccountNumber()); this.setBalanceTypeCode(originEntry.getFinancialBalanceTypeCode()); this.setObjectCode(originEntry.getFinancialObjectCode()); this.setObjectTypeCode(originEntry.getFinancialObjectTypeCode()); this.setSubObjectCode(originEntry.getFinancialSubObjectCode()); this.setUniversityFiscalYear(originEntry.getUniversityFiscalYear()); this.setSubAccountNumber(originEntry.getSubAccountNumber()); } /** * Compare amounts * * @param balance * @see org.kuali.kfs.gl.businessobject.Balance#addAmount(java.lang.String, org.kuali.rice.core.api.util.type.KualiDecimal) */ public boolean compareAmounts(Balance balance) { if (ObjectUtils.isNotNull(balance) && balance.getAccountLineAnnualBalanceAmount().equals(this.getAccountLineAnnualBalanceAmount()) && balance.getBeginningBalanceLineAmount().equals(this.getBeginningBalanceLineAmount()) && balance.getContractsGrantsBeginningBalanceAmount().equals(this.getContractsGrantsBeginningBalanceAmount()) && balance.getMonth1Amount().equals(this.getMonth1Amount()) && balance.getMonth2Amount().equals(this.getMonth2Amount()) && balance.getMonth3Amount().equals(this.getMonth3Amount()) && balance.getMonth4Amount().equals(this.getMonth4Amount()) && balance.getMonth5Amount().equals(this.getMonth5Amount()) && balance.getMonth6Amount().equals(this.getMonth6Amount()) && balance.getMonth7Amount().equals(this.getMonth7Amount()) && balance.getMonth8Amount().equals(this.getMonth8Amount()) && balance.getMonth9Amount().equals(this.getMonth9Amount()) && balance.getMonth10Amount().equals(this.getMonth10Amount()) && balance.getMonth11Amount().equals(this.getMonth11Amount()) && balance.getMonth12Amount().equals(this.getMonth12Amount()) && balance.getMonth13Amount().equals(this.getMonth13Amount())) { return true; } return false; } /** * History does not track this field. * @see org.kuali.kfs.gl.businessobject.Balance#getTimestamp() */ @Override public Date getTimestamp() { throw new UnsupportedOperationException(); } /** * History does not track this field. * @see org.kuali.kfs.gl.businessobject.Balance#setTimestamp(java.sql.Date) */ @Override public void setTimestamp(Date timestamp) { throw new UnsupportedOperationException(); } /** * Because financialBalanceTypeCode is named differently in Labor and GL. * * @return Returns the balanceTypeCode. */ public String getFinancialBalanceTypeCode() { return getBalanceTypeCode(); } /** * Because financialBalanceTypeCode is named differently in Labor and GL. * * @param financialBalanceTypeCode The balanceTypeCode to set. */ public void setFinancialBalanceTypeCode(String financialBalanceTypeCode) { this.setBalanceTypeCode(financialBalanceTypeCode); } /** * Because financialBalanceTypeCode is named differently in Labor and GL. * * @return Returns the objectCode. */ public String getFinancialObjectCode() { return getObjectCode(); } /** * Because financialBalanceTypeCode is named differently in Labor and GL. * * @param financialObjectCode The objectCode to set. */ public void setFinancialObjectCode(String financialObjectCode) { this.setObjectCode(financialObjectCode); } /** * Because financialBalanceTypeCode is named differently in Labor and GL. * * @return Returns the objectTypeCode. */ public String getFinancialObjectTypeCode() { return getObjectTypeCode(); } /** * Because financialBalanceTypeCode is named differently in Labor and GL. * * @param financialObjectTypeCode The objectTypeCode to set. */ public void setFinancialObjectTypeCode(String financialObjectTypeCode) { this.setObjectTypeCode(financialObjectTypeCode); } /** * Because financialBalanceTypeCode is named differently in Labor and GL. * * @return Returns the subObjectCode. */ public String getFinancialSubObjectCode() { return getSubObjectCode(); } /** * Because financialBalanceTypeCode is named differently in Labor and GL. * * @param financialSubObjectCode The subObjectCode to set. */ public void setFinancialSubObjectCode(String financialSubObjectCode) { this.setSubObjectCode(financialSubObjectCode); } }