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.cam.businessobject;
017
018 import java.util.LinkedHashMap;
019
020 import org.kuali.kfs.sys.context.SpringContext;
021 import org.kuali.rice.kns.bo.Country;
022 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
023 import org.kuali.rice.kns.bo.PostalCode;
024 import org.kuali.rice.kns.bo.State;
025 import org.kuali.rice.kns.service.CountryService;
026 import org.kuali.rice.kns.service.PostalCodeService;
027 import org.kuali.rice.kns.service.StateService;
028
029 /**
030 * @author Kuali Nervous System Team (kualidev@oncourse.iu.edu)
031 */
032 public class AssetLocation extends PersistableBusinessObjectBase {
033
034 private Long capitalAssetNumber;
035 private String assetLocationTypeCode;
036 private String assetLocationContactName;
037 private String assetLocationContactIdentifier;
038 private String assetLocationInstitutionName;
039 private String assetLocationPhoneNumber;
040 private String assetLocationStreetAddress;
041 private String assetLocationCityName;
042 private String assetLocationStateCode;
043 private String assetLocationCountryCode;
044 private String assetLocationZipCode;
045
046 private Asset asset;
047 private AssetLocationType assetLocationType;
048
049 private State assetLocationState;
050 private Country assetLocationCountry;
051 private PostalCode postalZipCode;
052
053 /**
054 * Default constructor.
055 */
056 public AssetLocation() {
057
058 }
059
060 public AssetLocation(Long assetNumber) {
061 this.capitalAssetNumber = assetNumber;
062 }
063
064 public AssetLocation(AssetLocation copiedLocation) {
065 this.capitalAssetNumber = copiedLocation.getCapitalAssetNumber();
066 this.assetLocationTypeCode = copiedLocation.getAssetLocationTypeCode();
067 this.assetLocationContactName = copiedLocation.getAssetLocationContactName();
068 this.assetLocationContactIdentifier = copiedLocation.getAssetLocationContactIdentifier();
069 this.assetLocationInstitutionName = copiedLocation.getAssetLocationInstitutionName();
070 this.assetLocationPhoneNumber = copiedLocation.getAssetLocationPhoneNumber();
071 this.assetLocationStreetAddress = copiedLocation.getAssetLocationStreetAddress();
072 this.assetLocationCityName = copiedLocation.getAssetLocationCityName();
073 this.assetLocationStateCode = copiedLocation.getAssetLocationStateCode();
074 this.assetLocationCountryCode = copiedLocation.getAssetLocationCountryCode();
075 this.assetLocationZipCode = copiedLocation.getAssetLocationZipCode();
076 }
077
078 /**
079 * Gets the capitalAssetNumber attribute.
080 *
081 * @return Returns the capitalAssetNumber
082 */
083 public Long getCapitalAssetNumber() {
084 return capitalAssetNumber;
085 }
086
087 /**
088 * Sets the capitalAssetNumber attribute.
089 *
090 * @param capitalAssetNumber The capitalAssetNumber to set.
091 */
092 public void setCapitalAssetNumber(Long capitalAssetNumber) {
093 this.capitalAssetNumber = capitalAssetNumber;
094 }
095
096
097 /**
098 * Gets the assetLocationTypeCode attribute.
099 *
100 * @return Returns the assetLocationTypeCode
101 */
102 public String getAssetLocationTypeCode() {
103 return assetLocationTypeCode;
104 }
105
106 /**
107 * Sets the assetLocationTypeCode attribute.
108 *
109 * @param assetLocationTypeCode The assetLocationTypeCode to set.
110 */
111 public void setAssetLocationTypeCode(String assetLocationTypeCode) {
112 this.assetLocationTypeCode = assetLocationTypeCode;
113 }
114
115
116 /**
117 * Gets the assetLocationContactName attribute.
118 *
119 * @return Returns the assetLocationContactName
120 */
121 public String getAssetLocationContactName() {
122 return assetLocationContactName;
123 }
124
125 /**
126 * Sets the assetLocationContactName attribute.
127 *
128 * @param assetLocationContactName The assetLocationContactName to set.
129 */
130 public void setAssetLocationContactName(String assetLocationContactName) {
131 this.assetLocationContactName = assetLocationContactName;
132 }
133
134
135 /**
136 * Gets the assetLocationContactIdentifier attribute.
137 *
138 * @return Returns the assetLocationContactIdentifier
139 */
140 public String getAssetLocationContactIdentifier() {
141 return assetLocationContactIdentifier;
142 }
143
144 /**
145 * Sets the assetLocationContactIdentifier attribute.
146 *
147 * @param assetLocationContactIdentifier The assetLocationContactIdentifier to set.
148 */
149 public void setAssetLocationContactIdentifier(String assetLocationContactIdentifier) {
150 this.assetLocationContactIdentifier = assetLocationContactIdentifier;
151 }
152
153
154 /**
155 * Gets the assetLocationInstitutionName attribute.
156 *
157 * @return Returns the assetLocationInstitutionName
158 */
159 public String getAssetLocationInstitutionName() {
160 return assetLocationInstitutionName;
161 }
162
163 /**
164 * Sets the assetLocationInstitutionName attribute.
165 *
166 * @param assetLocationInstitutionName The assetLocationInstitutionName to set.
167 */
168 public void setAssetLocationInstitutionName(String assetLocationInstitutionName) {
169 this.assetLocationInstitutionName = assetLocationInstitutionName;
170 }
171
172
173 /**
174 * Gets the assetLocationPhoneNumber attribute.
175 *
176 * @return Returns the assetLocationPhoneNumber
177 */
178 public String getAssetLocationPhoneNumber() {
179 return assetLocationPhoneNumber;
180 }
181
182 /**
183 * Sets the assetLocationPhoneNumber attribute.
184 *
185 * @param assetLocationPhoneNumber The assetLocationPhoneNumber to set.
186 */
187 public void setAssetLocationPhoneNumber(String assetLocationPhoneNumber) {
188 this.assetLocationPhoneNumber = assetLocationPhoneNumber;
189 }
190
191
192 /**
193 * Gets the assetLocationStreetAddress attribute.
194 *
195 * @return Returns the assetLocationStreetAddress
196 */
197 public String getAssetLocationStreetAddress() {
198 return assetLocationStreetAddress;
199 }
200
201 /**
202 * Sets the assetLocationStreetAddress attribute.
203 *
204 * @param assetLocationStreetAddress The assetLocationStreetAddress to set.
205 */
206 public void setAssetLocationStreetAddress(String assetLocationStreetAddress) {
207 this.assetLocationStreetAddress = assetLocationStreetAddress;
208 }
209
210
211 /**
212 * Gets the assetLocationCityName attribute.
213 *
214 * @return Returns the assetLocationCityName
215 */
216 public String getAssetLocationCityName() {
217 return assetLocationCityName;
218 }
219
220 /**
221 * Sets the assetLocationCityName attribute.
222 *
223 * @param assetLocationCityName The assetLocationCityName to set.
224 */
225 public void setAssetLocationCityName(String assetLocationCityName) {
226 this.assetLocationCityName = assetLocationCityName;
227 }
228
229
230 /**
231 * Gets the assetLocationStateCode attribute.
232 *
233 * @return Returns the assetLocationStateCode
234 */
235 public String getAssetLocationStateCode() {
236 return assetLocationStateCode;
237 }
238
239 /**
240 * Sets the assetLocationStateCode attribute.
241 *
242 * @param assetLocationStateCode The assetLocationStateCode to set.
243 */
244 public void setAssetLocationStateCode(String assetLocationStateCode) {
245 this.assetLocationStateCode = assetLocationStateCode;
246 }
247
248
249 /**
250 * Gets the assetLocationCountryCode attribute.
251 *
252 * @return Returns the assetLocationCountryCode
253 */
254 public String getAssetLocationCountryCode() {
255 return assetLocationCountryCode;
256 }
257
258 /**
259 * Sets the assetLocationCountryCode attribute.
260 *
261 * @param assetLocationCountryCode The assetLocationCountryCode to set.
262 */
263 public void setAssetLocationCountryCode(String assetLocationCountryCode) {
264 this.assetLocationCountryCode = assetLocationCountryCode;
265 }
266
267
268 /**
269 * Gets the assetLocationZipCode attribute.
270 *
271 * @return Returns the assetLocationZipCode
272 */
273 public String getAssetLocationZipCode() {
274 return assetLocationZipCode;
275 }
276
277 /**
278 * Sets the assetLocationZipCode attribute.
279 *
280 * @param assetLocationZipCode The assetLocationZipCode to set.
281 */
282 public void setAssetLocationZipCode(String assetLocationZipCode) {
283 this.assetLocationZipCode = assetLocationZipCode;
284 }
285
286 /**
287 * Gets the postalZipCode attribute.
288 *
289 * @return Returns the postalZipCode
290 */
291 public PostalCode getPostalZipCode() {
292 postalZipCode = SpringContext.getBean(PostalCodeService.class).getByPrimaryIdIfNecessary(assetLocationCountryCode, assetLocationZipCode, postalZipCode);
293 return postalZipCode;
294 }
295
296 /**
297 * Sets the postalZipCode attribute.
298 *
299 * @param postalZipCode The postalZipCode to set.
300 */
301 public void setPostalZipCode(PostalCode postalZipCode) {
302 this.postalZipCode = postalZipCode;
303 }
304
305 /**
306 * Gets the asset attribute.
307 *
308 * @return Returns the asset
309 */
310 public Asset getAsset() {
311 return asset;
312 }
313
314 /**
315 * Sets the asset attribute.
316 *
317 * @param asset The asset to set.
318 * @deprecated
319 */
320 public void setAsset(Asset asset) {
321 this.asset = asset;
322 }
323
324 /**
325 * Gets the assetLocationType attribute.
326 *
327 * @return Returns the assetLocationType.
328 */
329 public AssetLocationType getAssetLocationType() {
330 return assetLocationType;
331 }
332
333 /**
334 * Sets the assetLocationType attribute value.
335 *
336 * @param assetLocationType The assetLocationType to set.
337 * @deprecated
338 */
339 public void setAssetLocationType(AssetLocationType assetLocationType) {
340 this.assetLocationType = assetLocationType;
341 }
342
343 /**
344 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
345 */
346 protected LinkedHashMap toStringMapper() {
347 LinkedHashMap m = new LinkedHashMap();
348 if (this.capitalAssetNumber != null) {
349 m.put("capitalAssetNumber", this.capitalAssetNumber.toString());
350 }
351 m.put("assetLocationTypeCode", this.assetLocationTypeCode);
352 return m;
353 }
354
355 public Country getAssetLocationCountry() {
356 assetLocationCountry = SpringContext.getBean(CountryService.class).getByPrimaryIdIfNecessary(assetLocationCountryCode, assetLocationCountry);
357 return assetLocationCountry;
358 }
359
360 public void setAssetLocationCountry(Country assetLocationCountry) {
361 this.assetLocationCountry = assetLocationCountry;
362 }
363
364 public State getAssetLocationState() {
365 assetLocationState = SpringContext.getBean(StateService.class).getByPrimaryIdIfNecessary(assetLocationCountryCode, assetLocationStateCode, assetLocationState);
366 return assetLocationState;
367 }
368
369 public void setAssetLocationState(State assetLocationState) {
370 this.assetLocationState = assetLocationState;
371 }
372 }