/*
* 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.coa.businessobject;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
import org.kuali.rice.krad.bo.PersistableBusinessObject;
import org.kuali.rice.krad.bo.PersistableBusinessObjectBase;
/**
*
*/
public class A21SubAccount extends PersistableBusinessObjectBase {
private static final long serialVersionUID = 2983753447370117974L;
protected String chartOfAccountsCode;
protected String accountNumber;
protected String subAccountNumber;
protected String subAccountTypeCode;
protected String indirectCostRecoveryTypeCode;
protected String financialIcrSeriesIdentifier;
protected boolean offCampusCode;
protected String costShareChartOfAccountCode;
protected String costShareSourceAccountNumber;
protected String costShareSourceSubAccountNumber;
protected Chart costShareChartOfAccount;
protected Account costShareAccount;
protected SubAccount costShareSourceSubAccount;
protected IndirectCostRecoveryType indirectCostRecoveryType;
protected Chart chartOfAccounts;
protected Account account;
protected List<A21IndirectCostRecoveryAccount> a21IndirectCostRecoveryAccounts;
/**
*
*/
public A21SubAccount() {
super();
a21IndirectCostRecoveryAccounts = new ArrayList<A21IndirectCostRecoveryAccount>();
}
/**
* Gets the serialVersionUID attribute.
*
* @return Returns the serialVersionUID.
*/
public static long getSerialVersionUID() {
return serialVersionUID;
}
/**
* Gets the accountNumber attribute.
*
* @return Returns the accountNumber.
*/
public String getAccountNumber() {
return accountNumber;
}
/**
* Sets the accountNumber attribute value.
*
* @param accountNumber The accountNumber to set.
*/
public void setAccountNumber(String accountNumber) {
this.accountNumber = accountNumber;
}
/**
* Gets the chartOfAccountsCode attribute.
*
* @return Returns the chartOfAccountsCode.
*/
public String getChartOfAccountsCode() {
return chartOfAccountsCode;
}
/**
* Sets the chartOfAccountsCode attribute value.
*
* @param chartOfAccountsCode The chartOfAccountsCode to set.
*/
public void setChartOfAccountsCode(String chartOfAccountsCode) {
this.chartOfAccountsCode = chartOfAccountsCode;
}
/**
* Gets the indirectCostRecoveryType attribute.
*
* @return Returns the indirectCostRecoveryType.
*/
public IndirectCostRecoveryType getIndirectCostRecoveryType() {
return indirectCostRecoveryType;
}
/**
* Sets the indirectCostRecoveryType attribute value.
*
* @param indirectCostRecoveryType The indirectCostRecoveryType to set.
*/
public void setIndirectCostRecoveryType(IndirectCostRecoveryType icrTypeCode) {
this.indirectCostRecoveryType = icrTypeCode;
}
/**
* Gets the indirectCostRecoveryTypeCode attribute.
*
* @return Returns the indirectCostRecoveryTypeCode.
*/
public String getIndirectCostRecoveryTypeCode() {
return indirectCostRecoveryTypeCode;
}
/**
* Sets the indirectCostRecoveryTypeCode attribute value.
*
* @param indirectCostRecoveryTypeCode The indirectCostRecoveryTypeCode to set.
*/
public void setIndirectCostRecoveryTypeCode(String indirectCostRecoveryTypeCode) {
this.indirectCostRecoveryTypeCode = indirectCostRecoveryTypeCode;
}
/**
* Gets the financialIcrSeriesIdentifier attribute.
*
* @return Returns the financialIcrSeriesIdentifier.
*/
public String getFinancialIcrSeriesIdentifier() {
return financialIcrSeriesIdentifier;
}
/**
* Sets the financialIcrSeriesIdentifier attribute value.
*
* @param financialIcrSeriesIdentifier The financialIcrSeriesIdentifier to set.
*/
public void setFinancialIcrSeriesIdentifier(String financialIcrSeriesIdentifier) {
this.financialIcrSeriesIdentifier = financialIcrSeriesIdentifier;
}
/**
* Gets the subAccountNumber attribute.
*
* @return Returns the subAccountNumber.
*/
public String getSubAccountNumber() {
return subAccountNumber;
}
/**
* Sets the subAccountNumber attribute value.
*
* @param subAccountNumber The subAccountNumber to set.
*/
public void setSubAccountNumber(String subAccountNumber) {
this.subAccountNumber = subAccountNumber;
}
/**
* Gets the subAccountTypeCode attribute.
*
* @return Returns the subAccountTypeCode.
*/
public String getSubAccountTypeCode() {
return subAccountTypeCode;
}
/**
* Sets the subAccountTypeCode attribute value.
*
* @param subAccountTypeCode The subAccountTypeCode to set.
*/
public void setSubAccountTypeCode(String subAccountTypeCode) {
this.subAccountTypeCode = subAccountTypeCode;
}
/**
* Gets the costShareAccount attribute.
*
* @return Returns the costShareAccount.
*/
public Account getCostShareAccount() {
return costShareAccount;
}
/**
* Sets the costShareAccount attribute value.
*
* @param costShareAccount The costShareAccount to set.
*/
public void setCostShareAccount(Account costShareAccount) {
this.costShareAccount = costShareAccount;
}
/**
* Gets the costShareChartOfAccount attribute.
*
* @return Returns the costShareChartOfAccount.
*/
public Chart getCostShareChartOfAccount() {
return costShareChartOfAccount;
}
/**
* Sets the costShareChartOfAccount attribute value.
*
* @param costShareChartOfAccount The costShareChartOfAccount to set.
*/
public void setCostShareChartOfAccount(Chart costShareChartOfAccount) {
this.costShareChartOfAccount = costShareChartOfAccount;
}
/**
* Gets the costShareChartOfAccountCode attribute.
*
* @return Returns the costShareChartOfAccountCode.
*/
public String getCostShareChartOfAccountCode() {
return costShareChartOfAccountCode;
}
/**
* Sets the costShareChartOfAccountCode attribute value.
*
* @param costShareChartOfAccountCode The costShareChartOfAccountCode to set.
*/
public void setCostShareChartOfAccountCode(String costShareChartOfAccountCode) {
this.costShareChartOfAccountCode = costShareChartOfAccountCode;
}
/**
* Gets the costShareSourceAccountNumber attribute.
*
* @return Returns the costShareSourceAccountNumber.
*/
public String getCostShareSourceAccountNumber() {
return costShareSourceAccountNumber;
}
/**
* Sets the costShareSourceAccountNumber attribute value.
*
* @param costShareSourceAccountNumber The costShareSourceAccountNumber to set.
*/
public void setCostShareSourceAccountNumber(String costShareSourceAccountNumber) {
this.costShareSourceAccountNumber = costShareSourceAccountNumber;
}
/**
* Gets the costShareSourceSubAccount attribute.
*
* @return Returns the costShareSourceSubAccount.
*/
public SubAccount getCostShareSourceSubAccount() {
return costShareSourceSubAccount;
}
/**
* Sets the costShareSourceSubAccount attribute value.
*
* @param costShareSourceSubAccount The costShareSourceSubAccount to set.
*/
public void setCostShareSourceSubAccount(SubAccount costShareSourceSubAccount) {
this.costShareSourceSubAccount = costShareSourceSubAccount;
}
/**
* Gets the costShareSourceSubAccountNumber attribute.
*
* @return Returns the costShareSourceSubAccountNumber.
*/
public String getCostShareSourceSubAccountNumber() {
return costShareSourceSubAccountNumber;
}
/**
* Sets the costShareSourceSubAccountNumber attribute value.
*
* @param costShareSourceSubAccountNumber The costShareSourceSubAccountNumber to set.
*/
public void setCostShareSourceSubAccountNumber(String costShareSourceSubAccountNumber) {
this.costShareSourceSubAccountNumber = costShareSourceSubAccountNumber;
}
/**
* Gets the offCampusCode attribute.
*
* @return Returns the offCampusCode.
*/
public boolean getOffCampusCode() {
return offCampusCode;
}
/**
* Sets the offCampusCode attribute value.
*
* @param offCampusCode The offCampusCode to set.
*/
public void setOffCampusCode(boolean offCampusCode) {
this.offCampusCode = offCampusCode;
}
/**
* Gets the account attribute.
*
* @return Returns the account.
*/
public Account getAccount() {
return account;
}
/**
* Sets the account attribute value.
*
* @param account The account to set.
* @deprecated
*/
public void setAccount(Account account) {
this.account = account;
}
/**
* Gets the chartOfAccounts attribute.
*
* @return Returns the chartOfAccounts.
*/
public Chart getChartOfAccounts() {
return chartOfAccounts;
}
/**
* Sets the chartOfAccounts attribute value.
*
* @param chartOfAccounts The chartOfAccounts to set.
* @deprecated
*/
public void setChartOfAccounts(Chart chartOfAccounts) {
this.chartOfAccounts = chartOfAccounts;
}
public List<A21IndirectCostRecoveryAccount> getA21IndirectCostRecoveryAccounts() {
return a21IndirectCostRecoveryAccounts;
}
public List<A21IndirectCostRecoveryAccount> getA21ActiveIndirectCostRecoveryAccounts() {
List<A21IndirectCostRecoveryAccount> activeList = new ArrayList<A21IndirectCostRecoveryAccount>();
for (A21IndirectCostRecoveryAccount icr : getA21IndirectCostRecoveryAccounts()){
if (icr.isActive()){
activeList.add(A21IndirectCostRecoveryAccount.copyICRAccount(icr));
}
}
return activeList;
}
public void setA21IndirectCostRecoveryAccounts(List<A21IndirectCostRecoveryAccount> a21IndirectCostRecoveryAccounts) {
this.a21IndirectCostRecoveryAccounts = a21IndirectCostRecoveryAccounts;
}
/**
* @see org.kuali.rice.krad.bo.PersistableBusinessObjectBase#buildListOfDeletionAwareLists()
*/
@Override
public List buildListOfDeletionAwareLists() {
List<Collection<PersistableBusinessObject>> managedLists = super.buildListOfDeletionAwareLists();
managedLists.add( new ArrayList<PersistableBusinessObject>( getA21IndirectCostRecoveryAccounts() ) );
return managedLists;
}
}