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 017 package org.kuali.kfs.gl.businessobject; 018 019 import java.sql.Date; 020 021 import org.kuali.rice.kns.util.ObjectUtils; 022 023 /** 024 * General Ledger business object for BalanceHistory. 025 */ 026 public class BalanceHistory extends Balance implements LedgerBalanceHistory { 027 /** 028 * Default constructor. 029 */ 030 public BalanceHistory() { 031 super(); 032 } 033 034 /** 035 * Constructs a BalanceHistory.java. 036 * 037 * @param transaction 038 */ 039 public BalanceHistory(OriginEntryInformation originEntry) { 040 this(); 041 this.setChartOfAccountsCode(originEntry.getChartOfAccountsCode()); 042 this.setAccountNumber(originEntry.getAccountNumber()); 043 this.setBalanceTypeCode(originEntry.getFinancialBalanceTypeCode()); 044 this.setObjectCode(originEntry.getFinancialObjectCode()); 045 this.setObjectTypeCode(originEntry.getFinancialObjectTypeCode()); 046 this.setSubObjectCode(originEntry.getFinancialSubObjectCode()); 047 this.setUniversityFiscalYear(originEntry.getUniversityFiscalYear()); 048 this.setSubAccountNumber(originEntry.getSubAccountNumber()); 049 } 050 051 /** 052 * Compare amounts 053 * 054 * @param balance 055 * @see org.kuali.kfs.gl.businessobject.Balance#addAmount(java.lang.String, org.kuali.rice.kns.util.KualiDecimal) 056 */ 057 public boolean compareAmounts(Balance balance) { 058 if (ObjectUtils.isNotNull(balance) 059 && balance.getAccountLineAnnualBalanceAmount().equals(this.getAccountLineAnnualBalanceAmount()) 060 && balance.getBeginningBalanceLineAmount().equals(this.getBeginningBalanceLineAmount()) 061 && balance.getContractsGrantsBeginningBalanceAmount().equals(this.getContractsGrantsBeginningBalanceAmount()) 062 && balance.getMonth1Amount().equals(this.getMonth1Amount()) 063 && balance.getMonth2Amount().equals(this.getMonth2Amount()) 064 && balance.getMonth3Amount().equals(this.getMonth3Amount()) 065 && balance.getMonth4Amount().equals(this.getMonth4Amount()) 066 && balance.getMonth5Amount().equals(this.getMonth5Amount()) 067 && balance.getMonth6Amount().equals(this.getMonth6Amount()) 068 && balance.getMonth7Amount().equals(this.getMonth7Amount()) 069 && balance.getMonth8Amount().equals(this.getMonth8Amount()) 070 && balance.getMonth9Amount().equals(this.getMonth9Amount()) 071 && balance.getMonth10Amount().equals(this.getMonth10Amount()) 072 && balance.getMonth11Amount().equals(this.getMonth11Amount()) 073 && balance.getMonth12Amount().equals(this.getMonth12Amount()) 074 && balance.getMonth13Amount().equals(this.getMonth13Amount())) { 075 return true; 076 } 077 078 return false; 079 } 080 081 /** 082 * History does not track this field. 083 * @see org.kuali.kfs.gl.businessobject.Balance#getTimestamp() 084 */ 085 @Override 086 public Date getTimestamp() { 087 throw new UnsupportedOperationException(); 088 } 089 090 /** 091 * History does not track this field. 092 * @see org.kuali.kfs.gl.businessobject.Balance#setTimestamp(java.sql.Date) 093 */ 094 @Override 095 public void setTimestamp(Date timestamp) { 096 throw new UnsupportedOperationException(); 097 } 098 099 100 /** 101 * Because financialBalanceTypeCode is named differently in Labor and GL. 102 * 103 * @return Returns the balanceTypeCode. 104 */ 105 public String getFinancialBalanceTypeCode() { 106 return getBalanceTypeCode(); 107 } 108 109 /** 110 * Because financialBalanceTypeCode is named differently in Labor and GL. 111 * 112 * @param financialBalanceTypeCode The balanceTypeCode to set. 113 */ 114 public void setFinancialBalanceTypeCode(String financialBalanceTypeCode) { 115 this.setBalanceTypeCode(financialBalanceTypeCode); 116 } 117 118 /** 119 * Because financialBalanceTypeCode is named differently in Labor and GL. 120 * 121 * @return Returns the objectCode. 122 */ 123 public String getFinancialObjectCode() { 124 return getObjectCode(); 125 } 126 127 /** 128 * Because financialBalanceTypeCode is named differently in Labor and GL. 129 * 130 * @param financialObjectCode The objectCode to set. 131 */ 132 public void setFinancialObjectCode(String financialObjectCode) { 133 this.setObjectCode(financialObjectCode); 134 } 135 136 /** 137 * Because financialBalanceTypeCode is named differently in Labor and GL. 138 * 139 * @return Returns the objectTypeCode. 140 */ 141 public String getFinancialObjectTypeCode() { 142 return getObjectTypeCode(); 143 } 144 145 /** 146 * Because financialBalanceTypeCode is named differently in Labor and GL. 147 * 148 * @param financialObjectTypeCode The objectTypeCode to set. 149 */ 150 public void setFinancialObjectTypeCode(String financialObjectTypeCode) { 151 this.setObjectTypeCode(financialObjectTypeCode); 152 } 153 154 /** 155 * Because financialBalanceTypeCode is named differently in Labor and GL. 156 * 157 * @return Returns the subObjectCode. 158 */ 159 public String getFinancialSubObjectCode() { 160 return getSubObjectCode(); 161 } 162 163 /** 164 * Because financialBalanceTypeCode is named differently in Labor and GL. 165 * 166 * @param financialSubObjectCode The subObjectCode to set. 167 */ 168 public void setFinancialSubObjectCode(String financialSubObjectCode) { 169 this.setSubObjectCode(financialSubObjectCode); 170 } 171 }