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.Country; 022 import org.kuali.rice.kns.bo.State; 023 import org.kuali.kfs.sys.context.SpringContext; 024 import org.kuali.rice.kns.service.CountryService; 025 import org.kuali.rice.kns.service.StateService; 026 import org.kuali.rice.kns.bo.Inactivateable; 027 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase; 028 029 /** 030 * Subcontractors are vendors involved with an awarded {@link Proposal}. 031 */ 032 public class SubContractor extends PersistableBusinessObjectBase implements Inactivateable { 033 034 private String subcontractorNumber; 035 private String subcontractorName; 036 private String subcontractorAddressLine1; 037 private String subcontractorAddressLine2; 038 private String subcontractorCity; 039 private String subcontractorStateCode; 040 private String subcontractorZipCode; 041 private String subcontractorCountryCode; 042 private boolean active; 043 044 private State subcontractorState; 045 private Country subcontractorCountry; 046 047 /** 048 * Default no-arg constructor. 049 */ 050 public SubContractor() { 051 } 052 053 /** 054 * Gets the subcontractorNumber attribute. 055 * 056 * @return Returns the subcontractorNumber 057 */ 058 public String getSubcontractorNumber() { 059 return subcontractorNumber; 060 } 061 062 /** 063 * Sets the subcontractorNumber attribute. 064 * 065 * @param subcontractorNumber The subcontractorNumber to set. 066 */ 067 public void setSubcontractorNumber(String subcontractorNumber) { 068 this.subcontractorNumber = subcontractorNumber; 069 } 070 071 /** 072 * Gets the subcontractorName attribute. 073 * 074 * @return Returns the subcontractorName 075 */ 076 public String getSubcontractorName() { 077 return subcontractorName; 078 } 079 080 /** 081 * Sets the subcontractorName attribute. 082 * 083 * @param subcontractorName The subcontractorName to set. 084 */ 085 public void setSubcontractorName(String subcontractorName) { 086 this.subcontractorName = subcontractorName; 087 } 088 089 /** 090 * Gets the subcontractorAddressLine1 attribute. 091 * 092 * @return Returns the subcontractorAddressLine1 093 */ 094 public String getSubcontractorAddressLine1() { 095 return subcontractorAddressLine1; 096 } 097 098 /** 099 * Sets the subcontractorAddressLine1 attribute. 100 * 101 * @param subcontractorAddressLine1 The subcontractorAddressLine1 to set. 102 */ 103 public void setSubcontractorAddressLine1(String subcontractorAddressLine1) { 104 this.subcontractorAddressLine1 = subcontractorAddressLine1; 105 } 106 107 /** 108 * Gets the subcontractorAddressLine2 attribute. 109 * 110 * @return Returns the subcontractorAddressLine2 111 */ 112 public String getSubcontractorAddressLine2() { 113 return subcontractorAddressLine2; 114 } 115 116 /** 117 * Sets the subcontractorAddressLine2 attribute. 118 * 119 * @param subcontractorAddressLine2 The subcontractorAddressLine2 to set. 120 */ 121 public void setSubcontractorAddressLine2(String subcontractorAddressLine2) { 122 this.subcontractorAddressLine2 = subcontractorAddressLine2; 123 } 124 125 /** 126 * Gets the subcontractorCity attribute. 127 * 128 * @return Returns the subcontractorCity 129 */ 130 public String getSubcontractorCity() { 131 return subcontractorCity; 132 } 133 134 /** 135 * Sets the subcontractorCity attribute. 136 * 137 * @param subcontractorCity The subcontractorCity to set. 138 */ 139 public void setSubcontractorCity(String subcontractorCity) { 140 this.subcontractorCity = subcontractorCity; 141 } 142 143 /** 144 * Gets the subcontractorStateCode attribute. 145 * 146 * @return Returns the subcontractorStateCode. 147 */ 148 public String getSubcontractorStateCode() { 149 return subcontractorStateCode; 150 } 151 152 /** 153 * Sets the subcontractorStateCode attribute value. 154 * 155 * @param subcontractorStateCode The subcontractorStateCode to set. 156 */ 157 public void setSubcontractorStateCode(String subcontractorStateCode) { 158 this.subcontractorStateCode = subcontractorStateCode; 159 } 160 161 /** 162 * Gets the subcontractorZipCode attribute. 163 * 164 * @return Returns the subcontractorZipCode 165 */ 166 public String getSubcontractorZipCode() { 167 return subcontractorZipCode; 168 } 169 170 /** 171 * Sets the subcontractorZipCode attribute. 172 * 173 * @param subcontractorZipCode The subcontractorZipCode to set. 174 */ 175 public void setSubcontractorZipCode(String subcontractorZipCode) { 176 this.subcontractorZipCode = subcontractorZipCode; 177 } 178 179 /** 180 * Gets the subcontractorCountryCode attribute. 181 * 182 * @return Returns the subcontractorCountryCode 183 */ 184 public String getSubcontractorCountryCode() { 185 return subcontractorCountryCode; 186 } 187 188 /** 189 * Sets the subcontractorCountryCode attribute. 190 * 191 * @param subcontractorCountryCode The subcontractorCountryCode to set. 192 */ 193 public void setSubcontractorCountryCode(String subcontractorCountryCode) { 194 this.subcontractorCountryCode = subcontractorCountryCode; 195 } 196 197 /** 198 * Gets the active attribute. 199 * 200 * @return Returns the active. 201 */ 202 public boolean isActive() { 203 return active; 204 } 205 206 /** 207 * Sets the active attribute value. 208 * 209 * @param active The active to set. 210 */ 211 public void setActive(boolean active) { 212 this.active = active; 213 } 214 215 /** 216 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper() 217 */ 218 protected LinkedHashMap toStringMapper() { 219 LinkedHashMap m = new LinkedHashMap(); 220 m.put("subcontractorNumber", this.getSubcontractorNumber()); 221 return m; 222 } 223 224 /** 225 * Gets the {@link Country} in which the subcontractor is located. 226 * 227 * @return the {@link Country} in which the subcontractor is located. 228 */ 229 public Country getSubcontractorCountry() { 230 subcontractorCountry = SpringContext.getBean(CountryService.class).getByPrimaryIdIfNecessary(subcontractorCountryCode, subcontractorCountry); 231 return subcontractorCountry; 232 } 233 234 /** 235 * Sets the {@link Country} in which the subcontractor is located. 236 * 237 * @param country the {@link Country} in which the subcontractor is located. 238 */ 239 public void setSubcontractorCountry(Country country) { 240 this.subcontractorCountry = country; 241 } 242 243 /** 244 * Gets the {@link State} in which the subcontractor is located. 245 * 246 * @return the {@link State} in which the subcontractor is located. 247 */ 248 public State getSubcontractorState() { 249 subcontractorState = SpringContext.getBean(StateService.class).getByPrimaryIdIfNecessary(subcontractorCountryCode, subcontractorStateCode, subcontractorState); 250 return subcontractorState; 251 } 252 253 /** 254 * Sets the {@link State} in which the subcontractor is located. 255 * 256 * @param state the {@link State} in which the subcontractor is located. 257 */ 258 public void setSubcontractorState(State state) { 259 this.subcontractorState = state; 260 } 261 262 }