001 /**
002 * Copyright 2005-2014 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 edu.sampleu.travel.dataobject;
017
018 import org.apache.commons.lang.StringUtils;
019 import org.kuali.rice.core.api.mo.common.active.MutableInactivatable;
020 import org.kuali.rice.kim.api.identity.Person;
021 import org.kuali.rice.krad.bo.DataObjectBase;
022 import org.kuali.rice.krad.data.provider.annotation.InheritProperties;
023 import org.kuali.rice.krad.data.provider.annotation.InheritProperty;
024 import org.kuali.rice.krad.data.provider.annotation.Label;
025 import org.kuali.rice.krad.data.provider.annotation.Relationship;
026 import org.kuali.rice.krad.data.provider.annotation.UifAutoCreateViewType;
027 import org.kuali.rice.krad.data.provider.annotation.UifAutoCreateViews;
028
029 import javax.persistence.Column;
030 import javax.persistence.Entity;
031 import javax.persistence.GeneratedValue;
032 import javax.persistence.Id;
033 import javax.persistence.SequenceGenerator;
034 import javax.persistence.Table;
035 import javax.persistence.Temporal;
036 import javax.persistence.TemporalType;
037 import javax.persistence.Transient;
038 import java.util.Date;
039
040
041 @Entity
042 @Table(name="TRVL_TRAVELER_DTL_T")
043 @UifAutoCreateViews({UifAutoCreateViewType.INQUIRY, UifAutoCreateViewType.LOOKUP})
044 public class TravelerDetail extends DataObjectBase implements MutableInactivatable {
045 private static final long serialVersionUID = -7169083136626617130L;
046
047 @Id
048 @GeneratedValue(generator = "TRVL_TRAVELER_DTL_ID_S")
049 @SequenceGenerator(name = "TRVL_TRAVELER_DTL_ID_S", sequenceName = "TRVL_TRAVELER_DTL_ID_S", allocationSize = 5)
050 @Column(name = "id", length = 40, nullable = false)
051 protected String id;
052 @Column(name = "doc_nbr", length=14)
053 protected String documentNumber;
054 @Column(name = "EMP_PRINCIPAL_ID")
055 protected String principalId;
056 @Relationship(foreignKeyFields="principalId")
057 @Transient
058 @InheritProperties({
059 @InheritProperty(name="principalName",label=@Label("Traveler User ID")),
060 @InheritProperty(name="name",label=@Label("Traveler Name"))
061 })
062 private Person person;
063 @Column(name = "first_nm", length = 40, nullable = false)
064 protected String firstName;
065 @Column(length = 40, nullable = true)
066 protected String middleName;
067 @Column(name = "last_nm", length = 40, nullable = false)
068 protected String lastName;
069 @Column(name = "addr_line_1", length = 50, nullable = false)
070 protected String streetAddressLine1;
071 @Column(name = "addr_line_2", length = 50, nullable = true)
072 protected String streetAddressLine2;
073 @Column(name = "city_nm", length = 50, nullable = true)
074 protected String cityName;
075 @Column(name = "postal_state_cd", length = 2, nullable = false)
076 protected String stateCode;
077 @Column(name = "postal_cd", length = 11, nullable = false)
078 protected String zipCode;
079 @Column(name = "country_cd", length = 2, nullable = true)
080 protected String countryCode;
081 @Column(name = "citizenship", length = 40, nullable = true)
082 protected String citizenship;
083 @Column(name = "email_addr", length = 50, nullable = true)
084 protected String emailAddress;
085 @Transient
086 protected Date dateOfBirth;
087 @Column(name = "gender", length = 1, nullable = false)
088 protected String gender;
089 @Column(name = "phone_nbr", length = 20, nullable = true)
090 protected String phoneNumber;
091 @Column(name = "traveler_typ_cd", length = 3, nullable = false)
092 protected String travelerTypeCode;
093 // @ManyToOne
094 // @JoinColumn(name = "traveler_typ_cd", insertable=false, updatable=false)
095 @Transient
096 protected TravelerType travelerType;
097 @Column(name = "customer_num", length = 40, nullable = true)
098 protected String customerNumber;
099 //protected AccountsReceivableCustomer customer;
100 @Transient
101 protected boolean liabilityInsurance;
102
103 @Column(name = "drive_lic_num", length = 20, nullable = true)
104 protected String driversLicenseNumber;
105 @Transient
106 protected String driversLicenseState;
107 @Column(name = "drive_lic_exp_dt")
108 @Temporal(TemporalType.DATE)
109 protected Date driversLicenseExpDate;
110
111 // Notification
112 @Transient
113 protected Boolean notifyTAFinal = Boolean.FALSE;
114 @Transient
115 protected Boolean notifyTAStatusChange = Boolean.FALSE;
116 @Transient
117 protected Boolean notifyTERFinal = Boolean.FALSE;
118 @Transient
119 protected Boolean notifyTERStatusChange = Boolean.FALSE;
120
121 @Column(name = "ACTV_IND", nullable = false, length = 1)
122 protected Boolean active = Boolean.TRUE;
123 @Column(name = "non_res_alien", length = 1, nullable = true)
124 protected Boolean nonResidentAlien = Boolean.FALSE;
125 @Transient
126 protected Boolean motorVehicleRecordCheck = Boolean.FALSE;
127
128 /**
129 * This method returns the document number this TravelerDetail object is associated with
130 *
131 * @return document number
132 */
133 public String getDocumentNumber() {
134 return documentNumber;
135 }
136
137 /**
138 * This method sets the document number this TravelerDetail object will be associated with
139 *
140 * @param documentNumber
141 */
142 public void setDocumentNumber(String documentNumber) {
143 this.documentNumber = documentNumber;
144 }
145
146 public String getId() {
147 return id;
148 }
149
150
151 public void setId(String id) {
152 this.id = id;
153 }
154
155 public String getFirstName() {
156 return firstName;
157 }
158
159
160 public void setFirstName(String firstName) {
161 this.firstName = firstName;
162 }
163
164 public String getLastName() {
165 return lastName;
166 }
167
168
169 public void setLastName(String lastName) {
170 this.lastName = lastName;
171 }
172
173 public String getMiddleName() {
174 return middleName;
175 }
176
177 public void setMiddleName(String middleName) {
178 this.middleName = middleName;
179 }
180
181 public String getName() {
182 String name = "";
183 if(StringUtils.isNotBlank(getFirstName()))
184 name += getFirstName();
185 if(StringUtils.isNotBlank(getMiddleName()))
186 name += " " + getMiddleName();
187 if(StringUtils.isNotBlank(getLastName()))
188 name += " " + getLastName();
189 return name;
190 }
191
192 public String getStreetAddressLine1() {
193 return streetAddressLine1;
194 }
195
196
197 public void setStreetAddressLine1(String streetAddressLine1) {
198 this.streetAddressLine1 = streetAddressLine1;
199 }
200
201 public String getStreetAddressLine2() {
202 return streetAddressLine2;
203 }
204
205
206 public void setStreetAddressLine2(String streetAddressLine2) {
207 this.streetAddressLine2 = streetAddressLine2;
208 }
209
210 public String getCityName() {
211 return cityName;
212 }
213
214
215 public void setCityName(String cityName) {
216 this.cityName = cityName;
217 }
218
219 public String getStateCode() {
220 return stateCode;
221 }
222
223
224 public void setStateCode(String stateCode) {
225 this.stateCode = stateCode;
226 }
227
228 public String getZipCode() {
229 return zipCode;
230 }
231
232
233 public void setZipCode(String zipCode) {
234 this.zipCode = zipCode;
235 }
236
237 public String getCountryCode() {
238 return countryCode;
239 }
240
241
242 public void setCountryCode(String countryCode) {
243 this.countryCode = countryCode;
244 }
245
246 public String getEmailAddress() {
247 return emailAddress;
248 }
249
250
251 public void setEmailAddress(String emailAddress) {
252 this.emailAddress = emailAddress;
253 }
254
255 public String getPhoneNumber() {
256 return phoneNumber;
257 }
258
259
260 public void setPhoneNumber(String phoneNumber) {
261 this.phoneNumber = phoneNumber;
262 }
263
264 public String getTravelerTypeCode() {
265 return travelerTypeCode;
266 }
267
268
269 public void setTravelerTypeCode(String travelerTypeCode) {
270 this.travelerTypeCode = travelerTypeCode;
271 }
272
273 public TravelerType getTravelerType() {
274 return travelerType;
275 }
276
277 public void setTravelerType(TravelerType travelerType) {
278 this.travelerType = travelerType;
279 }
280
281 public String getPrincipalId() {
282 return principalId;
283 }
284
285 public void setPrincipalId(String principalId) {
286 this.principalId = principalId;
287 }
288
289 public String getCustomerNumber() {
290 return customerNumber;
291 }
292
293 public void setCustomerNumber(String customerNumber) {
294 this.customerNumber = customerNumber;
295 }
296
297 public boolean isLiabilityInsurance() {
298 return liabilityInsurance;
299 }
300
301 public void setLiabilityInsurance(boolean liabilityInsurance) {
302 this.liabilityInsurance = liabilityInsurance;
303 }
304
305 public String getDriversLicenseNumber() {
306 return driversLicenseNumber;
307 }
308
309 public void setDriversLicenseNumber(String driversLicenseNumber) {
310 this.driversLicenseNumber = driversLicenseNumber;
311 }
312
313 public String getDriversLicenseState() {
314 return driversLicenseState;
315 }
316
317 public void setDriversLicenseState(String driversLicenseState) {
318 this.driversLicenseState = driversLicenseState;
319 }
320
321 public Date getDriversLicenseExpDate() {
322 return driversLicenseExpDate;
323 }
324
325 public void setDriversLicenseExpDate(Date driversLicenseExpDate) {
326 this.driversLicenseExpDate = driversLicenseExpDate;
327 }
328
329 public boolean getNotifyTAFinal() {
330 return notifyTAFinal;
331 }
332
333 public boolean getNotifyTAStatusChange() {
334 return notifyTAStatusChange;
335 }
336
337 public boolean getNotifyTERFinal() {
338 return notifyTERFinal;
339 }
340
341 public boolean getNotifyTERStatusChange() {
342 return notifyTERStatusChange;
343 }
344
345 public String getCitizenship() {
346 return citizenship;
347 }
348
349 public void setCitizenship(String citizenship) {
350 this.citizenship = citizenship;
351 }
352
353 public boolean isActive() {
354 return active;
355 }
356
357 public void setActive(boolean active) {
358 this.active = active;
359 }
360
361 public boolean isNotifyTAFinal() {
362 return notifyTAFinal;
363 }
364
365 public void setNotifyTAFinal(boolean notifyTAFinal) {
366 this.notifyTAFinal = notifyTAFinal;
367 }
368
369 public boolean isNotifyTAStatusChange() {
370 return notifyTAStatusChange;
371 }
372
373 public void setNotifyTAStatusChange(boolean notifyTAStatusChange) {
374 this.notifyTAStatusChange = notifyTAStatusChange;
375 }
376
377 public boolean isNotifyTERFinal() {
378 return notifyTERFinal;
379 }
380
381 public void setNotifyTERFinal(boolean notifyTERFinal) {
382 this.notifyTERFinal = notifyTERFinal;
383 }
384
385 public boolean isNotifyTERStatusChange() {
386 return notifyTERStatusChange;
387 }
388
389 public void setNotifyTERStatusChange(boolean notifyTERStatusChange) {
390 this.notifyTERStatusChange = notifyTERStatusChange;
391 }
392
393 public boolean isMotorVehicleRecordCheck() {
394 return motorVehicleRecordCheck;
395 }
396
397 public void setMotorVehicleRecordCheck(boolean motorVehicleRecordCheck) {
398 this.motorVehicleRecordCheck = motorVehicleRecordCheck;
399 }
400
401 public boolean isNonResidentAlien() {
402 return nonResidentAlien;
403 }
404
405 public void setNonResidentAlien(boolean nonResidentAlien) {
406 this.nonResidentAlien = nonResidentAlien;
407 }
408
409 public Date getDateOfBirth() {
410 return dateOfBirth;
411 }
412
413 public void setDateOfBirth(Date dateOfBirth) {
414 this.dateOfBirth = dateOfBirth;
415 }
416
417 public String getGender() {
418 return gender;
419 }
420
421 public void setGender(String gender) {
422 this.gender = gender;
423 }
424
425 public Person getPerson() {
426 return person;
427 }
428
429 public void setPerson(Person person) {
430 this.person = person;
431 }
432 }