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.coa.businessobject; 018 019 import java.util.ArrayList; 020 import java.util.LinkedHashMap; 021 import java.util.List; 022 023 import org.apache.log4j.Logger; 024 import org.kuali.kfs.sys.context.SpringContext; 025 import org.kuali.rice.kns.bo.Inactivateable; 026 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase; 027 import org.kuali.rice.kns.service.BusinessObjectService; 028 import org.kuali.rice.kns.util.TypedArrayList; 029 030 /** 031 * 032 */ 033 public class AccountDelegateModel extends PersistableBusinessObjectBase implements Inactivateable { 034 private static final Logger LOG = Logger.getLogger(AccountDelegateModel.class); 035 036 private String chartOfAccountsCode; 037 private String organizationCode; 038 private String accountDelegateModelName; 039 private boolean active; 040 private List<AccountDelegateModelDetail> accountDelegateModelDetails; 041 042 private Organization organization; 043 private Chart chartOfAccounts; 044 045 /** 046 * Default constructor. 047 */ 048 public AccountDelegateModel() { 049 accountDelegateModelDetails = new TypedArrayList(AccountDelegateModelDetail.class); 050 } 051 052 /** 053 * Gets the chartOfAccountsCode attribute. 054 * 055 * @return Returns the chartOfAccountsCode 056 */ 057 public String getChartOfAccountsCode() { 058 return chartOfAccountsCode; 059 } 060 061 /** 062 * Sets the chartOfAccountsCode attribute. 063 * 064 * @param chartOfAccountsCode The chartOfAccountsCode to set. 065 */ 066 public void setChartOfAccountsCode(String chartOfAccountsCode) { 067 this.chartOfAccountsCode = chartOfAccountsCode; 068 } 069 070 071 /** 072 * Gets the organizationCode attribute. 073 * 074 * @return Returns the organizationCode 075 */ 076 public String getOrganizationCode() { 077 return organizationCode; 078 } 079 080 /** 081 * Sets the organizationCode attribute. 082 * 083 * @param organizationCode The organizationCode to set. 084 */ 085 public void setOrganizationCode(String organizationCode) { 086 this.organizationCode = organizationCode; 087 } 088 089 090 /** 091 * Gets the accountDelegateModelName attribute. 092 * 093 * @return Returns the accountDelegateModelName 094 */ 095 public String getAccountDelegateModelName() { 096 return accountDelegateModelName; 097 } 098 099 /** 100 * Sets the accountDelegateModelName attribute. 101 * 102 * @param accountDelegateModelName The accountDelegateModelName to set. 103 */ 104 public void setAccountDelegateModelName(String organizationRoutingModelName) { 105 this.accountDelegateModelName = organizationRoutingModelName; 106 } 107 108 109 /** 110 * Gets the organization attribute. 111 * 112 * @return Returns the organization 113 */ 114 public Organization getOrganization() { 115 return organization; 116 } 117 118 /** 119 * Sets the organization attribute. 120 * 121 * @param organization The organization to set. 122 * @deprecated 123 */ 124 public void setOrganization(Organization organization) { 125 this.organization = organization; 126 } 127 128 /** 129 * Gets the chartOfAccounts attribute. 130 * 131 * @return Returns the chartOfAccounts 132 */ 133 public Chart getChartOfAccounts() { 134 return chartOfAccounts; 135 } 136 137 /** 138 * Sets the chartOfAccounts attribute. 139 * 140 * @param chartOfAccounts The chartOfAccounts to set. 141 * @deprecated 142 */ 143 public void setChartOfAccounts(Chart chartOfAccounts) { 144 this.chartOfAccounts = chartOfAccounts; 145 } 146 147 /** 148 * Gets the accountDelegateModelDetails attribute. 149 * 150 * @return Returns the accountDelegateModelDetails. 151 */ 152 public List<AccountDelegateModelDetail> getAccountDelegateModelDetails() { 153 return accountDelegateModelDetails; 154 } 155 156 /** 157 * Sets the accountDelegateModelDetails attribute value. 158 * 159 * @param accountDelegateModelDetails The accountDelegateModelDetails to set. 160 */ 161 public void setAccountDelegateModelDetails(List<AccountDelegateModelDetail> organizationRoutingModel) { 162 this.accountDelegateModelDetails = organizationRoutingModel; 163 } 164 165 /** 166 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper() 167 */ 168 protected LinkedHashMap toStringMapper() { 169 LinkedHashMap m = new LinkedHashMap(); 170 m.put("chartOfAccountsCode", this.chartOfAccountsCode); 171 m.put("organizationCode", this.organizationCode); 172 m.put("accountDelegateModelName", this.accountDelegateModelName); 173 return m; 174 } 175 176 /** 177 * @see org.kuali.rice.kns.bo.PersistableBusinessObjectBase#linkEditableUserFields() 178 */ 179 @Override 180 public void linkEditableUserFields() { 181 super.linkEditableUserFields(); 182 if (this == null) { 183 throw new IllegalArgumentException("parameter passed in was null"); 184 } 185 List bos = new ArrayList(); 186 bos.addAll(getAccountDelegateModelDetails()); 187 SpringContext.getBean(BusinessObjectService.class).linkUserFields(bos); 188 } 189 190 /** 191 * Gets the active attribute. 192 * @return Returns the active. 193 */ 194 public boolean isActive() { 195 return active; 196 } 197 198 /** 199 * Sets the active attribute value. 200 * @param active The active to set. 201 */ 202 public void setActive(boolean active) { 203 this.active = active; 204 } 205 }