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.vnd.businessobject;
018
019 import java.util.LinkedHashMap;
020 import java.util.List;
021
022 import org.kuali.rice.kns.bo.Country;
023 import org.kuali.rice.kns.bo.State;
024 import org.kuali.kfs.sys.context.SpringContext;
025 import org.kuali.rice.kns.service.CountryService;
026 import org.kuali.rice.kns.service.StateService;
027 import org.kuali.rice.kns.bo.Inactivateable;
028 import org.kuali.rice.kns.bo.PersistableBusinessObjectBase;
029 import org.kuali.rice.kns.util.TypedArrayList;
030
031 /**
032 * Container for information about how to get in Contact with a person at a Vendor for a particular purpose.
033 */
034 public class VendorContact extends PersistableBusinessObjectBase implements Inactivateable {
035
036 private Integer vendorContactGeneratedIdentifier;
037 private Integer vendorHeaderGeneratedIdentifier;
038 private Integer vendorDetailAssignedIdentifier;
039 private String vendorContactTypeCode;
040 private String vendorContactName;
041 private String vendorContactEmailAddress;
042 private String vendorContactCommentText;
043 private String vendorLine1Address;
044 private String vendorLine2Address;
045 private String vendorCityName;
046 private String vendorStateCode;
047 private String vendorZipCode;
048 private String vendorCountryCode;
049 private String vendorAttentionName;
050 private String vendorAddressInternationalProvinceName;
051 private boolean active;
052
053 // These aren't persisted in db, only for lookup page
054 private String phoneNumberForLookup;
055 private String tollFreeForLookup;
056 private String faxForLookup;
057
058 private List<VendorContactPhoneNumber> vendorContactPhoneNumbers;
059
060 private VendorDetail vendorDetail;
061 private ContactType vendorContactType;
062 private State vendorState;
063 private Country vendorCountry;
064
065 /**
066 * Default constructor.
067 */
068 public VendorContact() {
069 vendorContactPhoneNumbers = new TypedArrayList(VendorContactPhoneNumber.class);
070 }
071
072 public Integer getVendorContactGeneratedIdentifier() {
073 return vendorContactGeneratedIdentifier;
074 }
075
076 public void setVendorContactGeneratedIdentifier(Integer vendorContactGeneratedIdentifier) {
077 this.vendorContactGeneratedIdentifier = vendorContactGeneratedIdentifier;
078 }
079
080 public Integer getVendorHeaderGeneratedIdentifier() {
081 return vendorHeaderGeneratedIdentifier;
082 }
083
084 public void setVendorHeaderGeneratedIdentifier(Integer vendorHeaderGeneratedIdentifier) {
085 this.vendorHeaderGeneratedIdentifier = vendorHeaderGeneratedIdentifier;
086 }
087
088 public Integer getVendorDetailAssignedIdentifier() {
089 return vendorDetailAssignedIdentifier;
090 }
091
092 public void setVendorDetailAssignedIdentifier(Integer vendorDetailAssignedIdentifier) {
093 this.vendorDetailAssignedIdentifier = vendorDetailAssignedIdentifier;
094 }
095
096 public String getVendorContactTypeCode() {
097 return vendorContactTypeCode;
098 }
099
100 public void setVendorContactTypeCode(String vendorContactTypeCode) {
101 this.vendorContactTypeCode = vendorContactTypeCode;
102 }
103
104 public String getVendorContactName() {
105 return vendorContactName;
106 }
107
108 public void setVendorContactName(String vendorContactName) {
109 this.vendorContactName = vendorContactName;
110 }
111
112 public String getVendorContactEmailAddress() {
113 return vendorContactEmailAddress;
114 }
115
116 public void setVendorContactEmailAddress(String vendorContactEmailAddress) {
117 this.vendorContactEmailAddress = vendorContactEmailAddress;
118 }
119
120 public String getVendorContactCommentText() {
121 return vendorContactCommentText;
122 }
123
124 public void setVendorContactCommentText(String vendorContactCommentText) {
125 this.vendorContactCommentText = vendorContactCommentText;
126 }
127
128 public ContactType getVendorContactType() {
129 return vendorContactType;
130 }
131
132 /**
133 * Sets the vendorContactType attribute.
134 *
135 * @param vendorContactType The vendorContactType to set.
136 * @deprecated
137 */
138 public void setVendorContactType(ContactType vendorContactType) {
139 this.vendorContactType = vendorContactType;
140 }
141
142 public VendorDetail getVendorDetail() {
143 return vendorDetail;
144 }
145
146 public void setVendorDetail(VendorDetail vendorDetail) {
147 this.vendorDetail = vendorDetail;
148 }
149
150 public String getVendorAddressInternationalProvinceName() {
151 return vendorAddressInternationalProvinceName;
152 }
153
154 public void setVendorAddressInternationalProvinceName(String vendorAddressInternationalProvinceName) {
155 this.vendorAddressInternationalProvinceName = vendorAddressInternationalProvinceName;
156 }
157
158 public boolean isActive() {
159 return active;
160 }
161
162 public void setActive(boolean active) {
163 this.active = active;
164 }
165
166 public String getVendorAttentionName() {
167 return vendorAttentionName;
168 }
169
170 public void setVendorAttentionName(String vendorAttentionName) {
171 this.vendorAttentionName = vendorAttentionName;
172 }
173
174 public String getVendorCityName() {
175 return vendorCityName;
176 }
177
178 public void setVendorCityName(String vendorCityName) {
179 this.vendorCityName = vendorCityName;
180 }
181
182 public String getVendorCountryCode() {
183 return vendorCountryCode;
184 }
185
186 public void setVendorCountryCode(String vendorCountryCode) {
187 this.vendorCountryCode = vendorCountryCode;
188 }
189
190 public String getVendorLine1Address() {
191 return vendorLine1Address;
192 }
193
194 public void setVendorLine1Address(String vendorLine1Address) {
195 this.vendorLine1Address = vendorLine1Address;
196 }
197
198 public String getVendorLine2Address() {
199 return vendorLine2Address;
200 }
201
202 public void setVendorLine2Address(String vendorLine2Address) {
203 this.vendorLine2Address = vendorLine2Address;
204 }
205
206 public String getVendorStateCode() {
207 return vendorStateCode;
208 }
209
210 public void setVendorStateCode(String vendorStateCode) {
211 this.vendorStateCode = vendorStateCode;
212 }
213
214 public String getVendorZipCode() {
215 return vendorZipCode;
216 }
217
218 public void setVendorZipCode(String vendorZipCode) {
219 this.vendorZipCode = vendorZipCode;
220 }
221
222 public Country getVendorCountry() {
223 vendorCountry = SpringContext.getBean(CountryService.class).getByPrimaryIdIfNecessary(vendorCountryCode, vendorCountry);
224 return vendorCountry;
225 }
226
227 /**
228 * Sets the vendorCountry attribute value.
229 *
230 * @param vendorCountry The vendorCountry to set.
231 * @deprecated
232 */
233 public void setVendorCountry(Country vendorCountry) {
234 this.vendorCountry = vendorCountry;
235 }
236
237 public State getVendorState() {
238 vendorState = SpringContext.getBean(StateService.class).getByPrimaryIdIfNecessary(vendorCountryCode, vendorStateCode, vendorState);
239 return vendorState;
240 }
241
242 /**
243 * Sets the vendorState attribute value.
244 *
245 * @param vendorState The vendorState to set.
246 * @deprecated
247 */
248 public void setVendorState(State vendorState) {
249 this.vendorState = vendorState;
250 }
251
252 public String getFaxForLookup() {
253 return faxForLookup;
254 }
255
256 public void setFaxForLookup(String faxForLookup) {
257 this.faxForLookup = faxForLookup;
258 }
259
260 public String getPhoneNumberForLookup() {
261 return phoneNumberForLookup;
262 }
263
264 public void setPhoneNumberForLookup(String phoneNumberForLookup) {
265 this.phoneNumberForLookup = phoneNumberForLookup;
266 }
267
268 public String getTollFreeForLookup() {
269 return tollFreeForLookup;
270 }
271
272 public void setTollFreeForLookup(String tollFreeForLookup) {
273 this.tollFreeForLookup = tollFreeForLookup;
274 }
275
276 /**
277 * @see org.kuali.rice.kns.bo.BusinessObjectBase#toStringMapper()
278 */
279 protected LinkedHashMap toStringMapper() {
280 LinkedHashMap m = new LinkedHashMap();
281 if (this.vendorContactGeneratedIdentifier != null) {
282 m.put("vendorContactGeneratedIdentifier", this.vendorContactGeneratedIdentifier.toString());
283 }
284 return m;
285 }
286
287 public List<VendorContactPhoneNumber> getVendorContactPhoneNumbers() {
288 return vendorContactPhoneNumbers;
289 }
290
291 public void setVendorContactPhoneNumbers(List<VendorContactPhoneNumber> vendorContactPhoneNumbers) {
292 this.vendorContactPhoneNumbers = vendorContactPhoneNumbers;
293 }
294
295 }