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.purap.businessobject; 017 018 019 import java.util.LinkedHashMap; 020 021 import org.apache.commons.lang.builder.EqualsBuilder; 022 import org.apache.commons.lang.builder.HashCodeBuilder; 023 import org.kuali.kfs.sys.businessobject.AccountingLine; 024 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase; 025 import org.kuali.rice.kns.util.KualiDecimal; 026 027 public abstract class PurApItemUseTaxBase extends PersistableBusinessObjectBase implements PurApItemUseTax { 028 029 private Integer useTaxId; 030 private Integer itemIdentifier; 031 private String rateCode; 032 private KualiDecimal taxAmount; 033 private String chartOfAccountsCode; 034 private String accountNumber; 035 private String financialObjectCode; 036 037 public PurApItemUseTaxBase() { 038 super(); 039 } 040 041 public PurApItemUseTaxBase(PurApItemUseTax itemUseTax) { 042 super(); 043 setAccountNumber(itemUseTax.getAccountNumber()); 044 setChartOfAccountsCode(itemUseTax.getChartOfAccountsCode()); 045 setFinancialObjectCode(itemUseTax.getFinancialObjectCode()); 046 setRateCode(itemUseTax.getRateCode()); 047 setTaxAmount(itemUseTax.getTaxAmount()); 048 } 049 050 public String getAccountNumber() { 051 return accountNumber; 052 } 053 054 public void setAccountNumber(String accountNumber) { 055 this.accountNumber = accountNumber; 056 } 057 058 public String getChartOfAccountsCode() { 059 return chartOfAccountsCode; 060 } 061 062 public void setChartOfAccountsCode(String chartOfAccountsCode) { 063 this.chartOfAccountsCode = chartOfAccountsCode; 064 } 065 066 public String getFinancialObjectCode() { 067 return financialObjectCode; 068 } 069 070 public void setFinancialObjectCode(String financialObjectCode) { 071 this.financialObjectCode = financialObjectCode; 072 } 073 074 public Integer getItemIdentifier() { 075 return itemIdentifier; 076 } 077 078 public void setItemIdentifier(Integer itemIdentifier) { 079 this.itemIdentifier = itemIdentifier; 080 } 081 082 public Integer getUseTaxId() { 083 return useTaxId; 084 } 085 086 public void setUseTaxId(Integer useTaxId) { 087 this.useTaxId = useTaxId; 088 } 089 090 public String getRateCode() { 091 return rateCode; 092 } 093 094 public void setRateCode(String rateCode) { 095 this.rateCode = rateCode; 096 } 097 098 public KualiDecimal getTaxAmount() { 099 return taxAmount; 100 } 101 102 public void setTaxAmount(KualiDecimal taxAmount) { 103 this.taxAmount = taxAmount; 104 } 105 106 protected LinkedHashMap toStringMapper() { 107 LinkedHashMap m = new LinkedHashMap(); 108 m.put("useTaxId", this.useTaxId); 109 return m; 110 } 111 112 /** 113 * Override needed for PURAP GL entry creation (hjs) - please do not add "amount" to this method 114 * 115 * @see java.lang.Object#equals(java.lang.Object) 116 */ 117 public boolean equals(Object obj) { 118 if (!(obj instanceof PurApItemUseTaxBase)) { 119 return false; 120 } 121 PurApItemUseTax purapItemUseTax = (PurApItemUseTax) obj; 122 return new EqualsBuilder().append(this.chartOfAccountsCode,purapItemUseTax.getChartOfAccountsCode()). 123 append(this.accountNumber,purapItemUseTax.getAccountNumber()). 124 append(this.getRateCode(),purapItemUseTax.getRateCode()). 125 append(this.financialObjectCode,purapItemUseTax.getFinancialObjectCode()).isEquals(); 126 } 127 128 /** 129 * Override needed for PURAP GL entry creation please do not add "taxAmount" to this method 130 * 131 * @see java.lang.Object#hashCode() 132 */ 133 public int hashCode() { 134 return new HashCodeBuilder(55, 97). 135 append(this.chartOfAccountsCode). 136 append(this.accountNumber). 137 append(this.getRateCode()). 138 append(this.financialObjectCode).toHashCode(); 139 } 140 141 }