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.module.cg.businessobject; 018 019 import java.util.LinkedHashMap; 020 021 import org.kuali.rice.kns.bo.Inactivateable; 022 import org.kuali.kfs.integration.cg.ContractsAndGrantsAgency; 023 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase; 024 import org.kuali.rice.kns.util.KualiDecimal; 025 026 /** 027 * This class defines an agency as it is used and referenced within the Contracts and Grants portion of a college or university 028 * financial system. 029 */ 030 public class Agency extends PersistableBusinessObjectBase implements ContractsAndGrantsAgency, Inactivateable { 031 032 private String agencyNumber; 033 private String reportingName; 034 private String fullName; 035 private String agencyTypeCode; 036 private String reportsToAgencyNumber; 037 private KualiDecimal indirectAmount; 038 private boolean inStateIndicator; 039 private Agency reportsToAgency; 040 private AgencyType agencyType; 041 private boolean active; 042 043 /** 044 * Gets the agencyTypeCode attribute. 045 * 046 * @return Returns the agencyTypeCode. 047 */ 048 public String getAgencyTypeCode() { 049 return agencyTypeCode; 050 } 051 052 /** 053 * Sets the agencyTypeCode attribute value. 054 * 055 * @param agencyTypeCode The agencyTypeCode to set. 056 */ 057 public void setAgencyTypeCode(String agencyTypeCode) { 058 this.agencyTypeCode = agencyTypeCode; 059 } 060 061 /** 062 * Gets the reportsToAgencyNumber attribute. 063 * 064 * @return Returns the reportsToAgencyNumber. 065 */ 066 public String getReportsToAgencyNumber() { 067 return reportsToAgencyNumber; 068 } 069 070 /** 071 * Sets the reportsToAgencyNumber attribute value. 072 * 073 * @param reportsToAgencyNumber The reportsToAgencyNumber to set. 074 */ 075 public void setReportsToAgencyNumber(String reportsToAgencyNumber) { 076 this.reportsToAgencyNumber = reportsToAgencyNumber; 077 } 078 079 /** 080 * Default no-arg constructor. 081 */ 082 public Agency() { 083 084 } 085 086 /** 087 * Gets the agencyNumber attribute. 088 * 089 * @return Returns the agencyNumber 090 */ 091 public String getAgencyNumber() { 092 return agencyNumber; 093 } 094 095 /** 096 * Sets the agencyNumber attribute. 097 * 098 * @param agencyNumber The agencyNumber to set. 099 */ 100 public void setAgencyNumber(String agencyNumber) { 101 this.agencyNumber = agencyNumber; 102 } 103 104 /** 105 * Gets the reportingName attribute. 106 * 107 * @return Returns the reportingName 108 */ 109 public String getReportingName() { 110 return reportingName; 111 } 112 113 /** 114 * Sets the reportingName attribute. 115 * 116 * @param reportingName The reportingName to set. 117 */ 118 public void setReportingName(String reportingName) { 119 this.reportingName = reportingName; 120 } 121 122 /** 123 * Gets the fullName attribute. 124 * 125 * @return Returns the fullName 126 */ 127 public String getFullName() { 128 return fullName; 129 } 130 131 /** 132 * Sets the fullName attribute. 133 * 134 * @param fullName The fullName to set. 135 */ 136 public void setFullName(String fullName) { 137 this.fullName = fullName; 138 } 139 140 /** 141 * Gets the indirectAmount attribute. 142 * 143 * @return Returns the indirectAmount 144 */ 145 public KualiDecimal getIndirectAmount() { 146 return indirectAmount; 147 } 148 149 /** 150 * Sets the indirectAmount attribute. 151 * 152 * @param indirectAmount The indirectAmount to set. 153 */ 154 public void setIndirectAmount(KualiDecimal indirectAmount) { 155 this.indirectAmount = indirectAmount; 156 } 157 158 /** 159 * Gets the inStateIndicator attribute. 160 * 161 * @return Returns the inStateIndicator 162 */ 163 public boolean isInStateIndicator() { 164 return inStateIndicator; 165 } 166 167 /** 168 * Sets the inStateIndicator attribute. 169 * 170 * @param inStateIndicator The inStateIndicator to set. 171 */ 172 public void setInStateIndicator(boolean inStateIndicator) { 173 this.inStateIndicator = inStateIndicator; 174 } 175 176 /** 177 * Gets the reportsToAgency attribute. 178 * 179 * @return Returns the reportsToAgency 180 */ 181 public Agency getReportsToAgency() { 182 return reportsToAgency; 183 } 184 185 /** 186 * Sets the reportsToAgency attribute. 187 * 188 * @param reportsToAgencyNumber The reportsToAgency to set. 189 * @deprecated 190 * @todo Why is this deprecated? 191 */ 192 public void setReportsToAgency(Agency reportsToAgencyNumber) { 193 this.reportsToAgency = reportsToAgencyNumber; 194 } 195 196 /** 197 * Gets the agencyType attribute. 198 * 199 * @return Returns the agencyType 200 */ 201 public AgencyType getAgencyType() { 202 return agencyType; 203 } 204 205 /** 206 * Sets the agencyType attribute. 207 * 208 * @param agencyType The agencyType to set. 209 * @deprecated 210 * @todo Why is this deprecated? 211 */ 212 public void setAgencyType(AgencyType agencyType) { 213 this.agencyType = agencyType; 214 } 215 216 /** 217 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper() 218 */ 219 protected LinkedHashMap toStringMapper() { 220 LinkedHashMap m = new LinkedHashMap(); 221 222 m.put("agencyNumber", getAgencyNumber()); 223 return m; 224 } 225 226 /** 227 * This method compares the passed in agency object against this agency object to check for equality. Equality is defined by if 228 * the agency passed in has the same agency number as the agency being compared to. 229 * 230 * @param agency The agency object to be compared. 231 * @return True if the agency passed in is determined to be equal, false otherwise. 232 */ 233 public boolean equals(Agency agency) { 234 return this.agencyNumber.equals(agency.getAgencyNumber()); 235 } 236 237 /** 238 * Gets the active attribute. 239 * @return Returns the active. 240 */ 241 public boolean isActive() { 242 return active; 243 } 244 245 /** 246 * Sets the active attribute value. 247 * @param active The active to set. 248 */ 249 public void setActive(boolean active) { 250 this.active = active; 251 } 252 253 }