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.sys.businessobject;
018
019 import java.util.LinkedHashMap;
020
021 import org.kuali.kfs.sys.context.SpringContext;
022 import org.kuali.rice.kns.bo.Campus;
023 import org.kuali.rice.kns.bo.Country;
024 import org.kuali.rice.kns.bo.Inactivateable;
025 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
026 import org.kuali.rice.kns.bo.PostalCode;
027 import org.kuali.rice.kns.bo.State;
028 import org.kuali.rice.kns.service.CountryService;
029 import org.kuali.rice.kns.service.KualiModuleService;
030 import org.kuali.rice.kns.service.PostalCodeService;
031 import org.kuali.rice.kns.service.StateService;
032
033 /**
034 *
035 */
036 public class Building extends PersistableBusinessObjectBase implements Inactivateable {
037
038 private String campusCode;
039 private String buildingCode;
040 private String buildingName;
041 private String buildingStreetAddress;
042 private String buildingAddressCityName;
043 private String buildingAddressStateCode;
044 private String buildingAddressZipCode;
045 private String alternateBuildingCode;
046 private boolean active;
047 private String buildingAddressCountryCode;
048
049 private Campus campus;
050 private State buildingAddressState;
051 private PostalCode buildingAddressZip;
052 private Country buildingAddressCountry;
053
054 /**
055 * Default constructor.
056 */
057 public Building() {
058
059 }
060
061 /**
062 * Gets the campusCode attribute.
063 *
064 * @return Returns the campusCode
065 */
066 public String getCampusCode() {
067 return campusCode;
068 }
069
070 /**
071 * Sets the campusCode attribute.
072 *
073 * @param campusCode The campusCode to set.
074 */
075 public void setCampusCode(String campusCode) {
076 this.campusCode = campusCode;
077 }
078
079
080 /**
081 * Gets the buildingCode attribute.
082 *
083 * @return Returns the buildingCode
084 */
085 public String getBuildingCode() {
086 return buildingCode;
087 }
088
089 /**
090 * Sets the buildingCode attribute.
091 *
092 * @param buildingCode The buildingCode to set.
093 */
094 public void setBuildingCode(String buildingCode) {
095 this.buildingCode = buildingCode;
096 }
097
098
099 /**
100 * Gets the buildingName attribute.
101 *
102 * @return Returns the buildingName
103 */
104 public String getBuildingName() {
105 return buildingName;
106 }
107
108 /**
109 * Sets the buildingName attribute.
110 *
111 * @param buildingName The buildingName to set.
112 */
113 public void setBuildingName(String buildingName) {
114 this.buildingName = buildingName;
115 }
116
117 /**
118 * Gets the campus attribute.
119 *
120 * @return Returns the campus.
121 */
122 public Campus getCampus() {
123 return campus = (Campus) SpringContext.getBean(KualiModuleService.class).getResponsibleModuleService(Campus.class).retrieveExternalizableBusinessObjectIfNecessary(this, campus, "campus");
124 }
125
126 /**
127 * Sets the campus attribute value.
128 *
129 * @param campus The campus to set.
130 */
131 public void setCampus(Campus campus) {
132 this.campus = campus;
133 }
134
135 /**
136 * Gets the alternateBuildingCode attribute.
137 *
138 * @return Returns the alternateBuildingCode.
139 */
140 public String getAlternateBuildingCode() {
141 return alternateBuildingCode;
142 }
143
144 /**
145 * Sets the alternateBuildingCode attribute value.
146 *
147 * @param alternateBuildingCode The alternateBuildingCode to set.
148 */
149 public void setAlternateBuildingCode(String alternateBuildingCode) {
150 this.alternateBuildingCode = alternateBuildingCode;
151 }
152
153 /**
154 * Gets the buildingAddressCityName attribute.
155 *
156 * @return Returns the buildingAddressCityName.
157 */
158 public String getBuildingAddressCityName() {
159 return buildingAddressCityName;
160 }
161
162 /**
163 * Sets the buildingAddressCityName attribute value.
164 *
165 * @param buildingAddressCityName The buildingAddressCityName to set.
166 */
167 public void setBuildingAddressCityName(String buildingAddressCityName) {
168 this.buildingAddressCityName = buildingAddressCityName;
169 }
170
171 /**
172 * Gets the buildingAddressStateCode attribute.
173 *
174 * @return Returns the buildingAddressStateCode.
175 */
176 public String getBuildingAddressStateCode() {
177 return buildingAddressStateCode;
178 }
179
180 /**
181 * Sets the buildingAddressStateCode attribute value.
182 *
183 * @param buildingAddressStateCode The buildingAddressStateCode to set.
184 */
185 public void setBuildingAddressStateCode(String buildingAddressStateCode) {
186 this.buildingAddressStateCode = buildingAddressStateCode;
187 }
188
189 /**
190 * Gets the buildingAddressZipCode attribute.
191 *
192 * @return Returns the buildingAddressZipCode.
193 */
194 public String getBuildingAddressZipCode() {
195 return buildingAddressZipCode;
196 }
197
198 /**
199 * Sets the buildingAddressZipCode attribute value.
200 *
201 * @param buildingAddressZipCode The buildingAddressZipCode to set.
202 */
203 public void setBuildingAddressZipCode(String buildingAddressZipCode) {
204 this.buildingAddressZipCode = buildingAddressZipCode;
205 }
206
207 /**
208 * Gets the buildingStreetAddress attribute.
209 *
210 * @return Returns the buildingStreetAddress.
211 */
212 public String getBuildingStreetAddress() {
213 return buildingStreetAddress;
214 }
215
216 /**
217 * Sets the buildingStreetAddress attribute value.
218 *
219 * @param buildingStreetAddress The buildingStreetAddress to set.
220 */
221 public void setBuildingStreetAddress(String buildingStreetAddress) {
222 this.buildingStreetAddress = buildingStreetAddress;
223 }
224
225 /**
226 * Gets the active attribute.
227 * @return Returns the active.
228 */
229 public boolean isActive() {
230 return active;
231 }
232
233 /**
234 * Sets the active attribute value.
235 * @param active The active to set.
236 */
237 public void setActive(boolean active) {
238 this.active = active;
239 }
240
241 /**
242 * Gets the buildingAddressState attribute.
243 *
244 * @return Returns the buildingAddressState.
245 */
246 public State getBuildingAddressState() {
247 buildingAddressState = SpringContext.getBean(StateService.class).getByPrimaryIdIfNecessary(buildingAddressCountryCode, buildingAddressStateCode, buildingAddressState);
248 return buildingAddressState;
249 }
250
251 /**
252 * Sets the buildingAddressState attribute value.
253 *
254 * @param buildingAddressState The buildingAddressState to set.
255 * @deprecated
256 */
257 public void setBuildingAddressState(State buildingAddressState) {
258 this.buildingAddressState = buildingAddressState;
259 }
260
261 /**
262 * Gets the buildingAddressZip attribute.
263 *
264 * @return Returns the buildingAddressZip.
265 */
266 public PostalCode getBuildingAddressZip() {
267 buildingAddressZip = SpringContext.getBean(PostalCodeService.class).getByPrimaryIdIfNecessary(buildingAddressCountryCode, buildingAddressZipCode, buildingAddressZip);
268 return buildingAddressZip;
269 }
270
271 /**
272 * Sets the buildingAddressZip attribute value.
273 *
274 * @param buildingAddressZip The buildingAddressZip to set.
275 * @deprecated
276 */
277 public void setBuildingAddressZip(PostalCode buildingAddressZip) {
278 this.buildingAddressZip = buildingAddressZip;
279 }
280
281 /**
282 * Gets the buildingAddressCountryCode attribute.
283 * @return Returns the buildingAddressCountryCode.
284 */
285 public String getBuildingAddressCountryCode() {
286 return buildingAddressCountryCode;
287 }
288
289 /**
290 * Sets the buildingAddressCountryCode attribute value.
291 * @param buildingAddressCountryCode The buildingAddressCountryCode to set.
292 */
293 public void setBuildingAddressCountryCode(String buildingAddressCountryCode) {
294 this.buildingAddressCountryCode = buildingAddressCountryCode;
295 }
296
297 /**
298 * Gets the buildingAddressCountry attribute.
299 * @return Returns the buildingAddressCountry.
300 */
301 public Country getBuildingAddressCountry() {
302 buildingAddressCountry = SpringContext.getBean(CountryService.class).getByPrimaryIdIfNecessary(buildingAddressCountryCode, buildingAddressCountry);
303 return buildingAddressCountry;
304 }
305
306 /**
307 * Sets the buildingAddressCountry attribute value.
308 * @param buildingAddressCountry The buildingAddressCountry to set.
309 */
310 public void setBuildingAddressCountry(Country buildingAddressCountry) {
311 this.buildingAddressCountry = buildingAddressCountry;
312 }
313
314
315
316
317 /**
318 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
319 */
320 protected LinkedHashMap toStringMapper() {
321 LinkedHashMap m = new LinkedHashMap();
322 m.put("campusCode", this.campusCode);
323 m.put("buildingCode", this.buildingCode);
324 return m;
325 }
326
327
328 }