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.approval.dataobject; 017 018 import org.kuali.rice.krad.bo.PersistableBusinessObjectBase; 019 import javax.persistence.Entity; 020 import javax.persistence.Table; 021 import javax.persistence.OneToMany; 022 import java.sql.Date; 023 import java.util.ArrayList; 024 import java.util.LinkedHashMap; 025 import java.util.List; 026 import javax.persistence.Column; 027 import javax.persistence.GeneratedValue; 028 import javax.persistence.Id; 029 import javax.persistence.JoinColumn; 030 import javax.persistence.ManyToOne; 031 import javax.persistence.SequenceGenerator; 032 import org.apache.commons.lang.StringUtils; 033 //import org.kuali.kfs.integration.ar.AccountsReceivableCustomer; 034 035 036 @Entity 037 @Table(name="TRVL_TRAVELER_DTL_T") 038 public class TravelerDetail extends PersistableBusinessObjectBase { 039 040 protected Integer id; 041 protected String documentNumber; 042 protected String principalId; 043 protected String principalName; 044 protected String firstName; 045 protected String middleName; 046 protected String lastName; 047 protected String streetAddressLine1; 048 protected String streetAddressLine2; 049 protected String cityName; 050 protected String stateCode; 051 protected String zipCode; 052 protected String countryCode; 053 protected String citizenship; 054 protected String emailAddress; 055 protected Date dateOfBirth; 056 protected String gender; 057 protected String phoneNumber; 058 protected String travelerTypeCode; 059 protected TravelerType travelerType; 060 protected String customerNumber; 061 //protected AccountsReceivableCustomer customer; 062 protected boolean liabilityInsurance; 063 064 protected String driversLicenseNumber; 065 protected String driversLicenseState; 066 protected Date driversLicenseExpDate; 067 068 // Notification 069 protected boolean notifyTAFinal = Boolean.FALSE; 070 protected boolean notifyTAStatusChange = Boolean.FALSE; 071 protected boolean notifyTERFinal = Boolean.FALSE; 072 protected boolean notifyTERStatusChange = Boolean.FALSE; 073 074 protected boolean active = Boolean.TRUE; 075 protected boolean nonResidentAlien = Boolean.FALSE; 076 protected boolean motorVehicleRecordCheck = Boolean.FALSE; 077 078 @OneToMany(mappedBy = "id") 079 private List<TravelerDetailEmergencyContact> emergencyContacts = new ArrayList<TravelerDetailEmergencyContact>(); 080 081 /** 082 * Reset emergency contact lists when switching the traveler/tem profile 083 */ 084 public void resetEmergencyContacts(){ 085 emergencyContacts = new ArrayList<TravelerDetailEmergencyContact>(); 086 } 087 088 public List<TravelerDetailEmergencyContact> getEmergencyContacts() { 089 return emergencyContacts; 090 } 091 092 public void setEmergencyContacts(List<TravelerDetailEmergencyContact> emergencyContacts) { 093 this.emergencyContacts = emergencyContacts; 094 } 095 096 /** 097 * This method returns the document number this TravelerDetail object is associated with 098 * 099 * @return document number 100 */ 101 @Column(name = "doc_nbr") 102 public String getDocumentNumber() { 103 return documentNumber; 104 } 105 106 /** 107 * This method sets the document number this TravelerDetail object will be associated with 108 * 109 * @param documentNumber 110 */ 111 public void setDocumentNumber(String documentNumber) { 112 this.documentNumber = documentNumber; 113 } 114 115 @Id 116 @GeneratedValue(generator = "TEM_TRAVELER_DTL_ID_SEQ") 117 @SequenceGenerator(name = "TEM_TRAVELER_DTL_ID_SEQ", sequenceName = "TEM_TRAVELER_DTL_ID_SEQ", allocationSize = 5) 118 @Column(name = "id", nullable = false) 119 public Integer getId() { 120 return id; 121 } 122 123 124 public void setId(Integer id) { 125 this.id = id; 126 } 127 128 @Column(name = "first_nm", length = 40, nullable = false) 129 public String getFirstName() { 130 return firstName; 131 } 132 133 134 public void setFirstName(String firstName) { 135 this.firstName = firstName; 136 } 137 138 @Column(name = "last_nm", length = 40, nullable = false) 139 public String getLastName() { 140 return lastName; 141 } 142 143 144 public void setLastName(String lastName) { 145 this.lastName = lastName; 146 } 147 148 /** 149 * Gets the middleName attribute. 150 * 151 * @return Returns the middleName. 152 */ 153 @Column(length = 40, nullable = true) 154 public String getMiddleName() { 155 return middleName; 156 } 157 158 /** 159 * Sets the middleName attribute value. 160 * 161 * @param middleName The middleName to set. 162 */ 163 public void setMiddleName(String middleName) { 164 this.middleName = middleName; 165 } 166 167 public String getName() { 168 String name = ""; 169 if(StringUtils.isNotBlank(getFirstName())) 170 name += getFirstName(); 171 if(StringUtils.isNotBlank(getMiddleName())) 172 name += " " + getMiddleName(); 173 if(StringUtils.isNotBlank(getLastName())) 174 name += " " + getLastName(); 175 return name; 176 } 177 178 @Column(name = "addr_line_1", length = 50, nullable = false) 179 public String getStreetAddressLine1() { 180 return streetAddressLine1; 181 } 182 183 184 public void setStreetAddressLine1(String streetAddressLine1) { 185 this.streetAddressLine1 = streetAddressLine1; 186 } 187 188 @Column(name = "addr_line_2", length = 50, nullable = true) 189 public String getStreetAddressLine2() { 190 return streetAddressLine2; 191 } 192 193 194 public void setStreetAddressLine2(String streetAddressLine2) { 195 this.streetAddressLine2 = streetAddressLine2; 196 } 197 198 @Column(name = "city_nm", length = 50, nullable = true) 199 public String getCityName() { 200 return cityName; 201 } 202 203 204 public void setCityName(String cityName) { 205 this.cityName = cityName; 206 } 207 208 @Column(name = "postal_state_cd", length = 50, nullable = false) 209 public String getStateCode() { 210 return stateCode; 211 } 212 213 214 public void setStateCode(String stateCode) { 215 this.stateCode = stateCode; 216 } 217 218 @Column(name = "postal_cd", length = 50, nullable = false) 219 public String getZipCode() { 220 return zipCode; 221 } 222 223 224 public void setZipCode(String zipCode) { 225 this.zipCode = zipCode; 226 } 227 228 @Column(name = "country_cd", length = 50, nullable = true) 229 public String getCountryCode() { 230 return countryCode; 231 } 232 233 234 public void setCountryCode(String countryCode) { 235 this.countryCode = countryCode; 236 } 237 238 @Column(name = "email_addr", length = 50, nullable = true) 239 public String getEmailAddress() { 240 return emailAddress; 241 } 242 243 244 public void setEmailAddress(String emailAddress) { 245 this.emailAddress = emailAddress; 246 } 247 248 @Column(name = "phone_nbr", length = 20, nullable = true) 249 public String getPhoneNumber() { 250 return phoneNumber; 251 } 252 253 254 public void setPhoneNumber(String phoneNumber) { 255 this.phoneNumber = phoneNumber; 256 } 257 258 @Column(name = "traveler_typ_cd", length = 3, nullable = false) 259 public String getTravelerTypeCode() { 260 return travelerTypeCode; 261 } 262 263 264 public void setTravelerTypeCode(String travelerTypeCode) { 265 this.travelerTypeCode = travelerTypeCode; 266 } 267 268 @ManyToOne 269 @JoinColumn(name = "traveler_typ_cd") 270 public TravelerType getTravelerType() { 271 return travelerType; 272 } 273 274 public void setTravelerType(TravelerType travelerType) { 275 this.travelerType = travelerType; 276 } 277 278 /** 279 * Gets the principalId attribute. 280 * 281 * @return Returns the principalId. 282 */ 283 @Column(name = "EMP_PRINCIPAL_ID") 284 public String getPrincipalId() { 285 return principalId; 286 } 287 288 /** 289 * Sets the principalId attribute value. 290 * 291 * @param principalId The principalId to set. 292 */ 293 public void setPrincipalId(String principalId) { 294 this.principalId = principalId; 295 } 296 297 /** 298 * Gets the principalName attribute. 299 * 300 * @return Returns the principalName. 301 */ 302 @Column(name = "EMP_PRINCIPAL_ID") 303 public String getPrincipalName() { 304 return principalName; 305 } 306 307 /** 308 * Sets the principalName attribute value. 309 * 310 * @param principalName The principalName to set. 311 */ 312 public void setPrincipalName(String principalName) { 313 this.principalName = principalName; 314 } 315 316 /** 317 * Gets the customerNumber attribute. 318 * 319 * @return Returns the customerNumber. 320 */ 321 @Column(name = "customer_num", length = 40, nullable = true) 322 public String getCustomerNumber() { 323 return customerNumber; 324 } 325 326 /** 327 * Sets the customerNumber attribute value. 328 * 329 * @param customerNumber The customerNumber to set. 330 */ 331 public void setCustomerNumber(String customerNumber) { 332 this.customerNumber = customerNumber; 333 } 334 335 /* 336 public void setCustomer(final AccountsReceivableCustomer customer) { 337 338 this.customer = customer; 339 } 340 341 public AccountsReceivableCustomer getCustomer() { 342 return this.customer; 343 } 344 */ 345 346 protected LinkedHashMap toStringMapper() { 347 LinkedHashMap map = new LinkedHashMap(); 348 map.put("id", id); 349 map.put("firstName", firstName); 350 map.put("lastName", lastName); 351 map.put("streetAddressLine1", streetAddressLine1); 352 map.put("cityName", cityName); 353 return map; 354 } 355 356 public boolean isLiabilityInsurance() { 357 return liabilityInsurance; 358 } 359 360 public void setLiabilityInsurance(boolean liabilityInsurance) { 361 this.liabilityInsurance = liabilityInsurance; 362 } 363 364 /** 365 * Gets the driversLicenseNumber attribute. 366 * 367 * @return Returns the driversLicenseNumber. 368 */ 369 @Column(name = "drive_lic_num", length = 20, nullable = true) 370 public String getDriversLicenseNumber() { 371 return driversLicenseNumber; 372 } 373 374 /** 375 * Sets the driversLicenseNumber attribute value. 376 * 377 * @param driversLicenseNumber The driversLicenseNumber to set. 378 */ 379 public void setDriversLicenseNumber(String driversLicenseNumber) { 380 this.driversLicenseNumber = driversLicenseNumber; 381 } 382 383 /** 384 * Gets the driversLicenseState attribute. 385 * 386 * @return Returns the driversLicenseState. 387 */ 388 public String getDriversLicenseState() { 389 return driversLicenseState; 390 } 391 392 /** 393 * Sets the driversLicenseState attribute value. 394 * 395 * @param driversLicenseState The driversLicenseState to set. 396 */ 397 public void setDriversLicenseState(String driversLicenseState) { 398 this.driversLicenseState = driversLicenseState; 399 } 400 401 /** 402 * Gets the driversLicenseExpDate attribute. 403 * 404 * @return Returns the driversLicenseExpDate. 405 */ 406 @Column(name = "drive_lic_exp_dt", length = 10) 407 public Date getDriversLicenseExpDate() { 408 return driversLicenseExpDate; 409 } 410 411 412 /** 413 * Sets the driversLicenseExpDate attribute value. 414 * 415 * @param driversLicenseExpDate The driversLicenseExpDate to set. 416 */ 417 public void setDriversLicenseExpDate(Date driversLicenseExpDate) { 418 this.driversLicenseExpDate = driversLicenseExpDate; 419 } 420 421 public boolean getNotifyTAFinal() { 422 return notifyTAFinal; 423 } 424 425 public boolean getNotifyTAStatusChange() { 426 return notifyTAStatusChange; 427 } 428 429 public boolean getNotifyTERFinal() { 430 return notifyTERFinal; 431 } 432 433 public boolean getNotifyTERStatusChange() { 434 return notifyTERStatusChange; 435 } 436 437 /** 438 * Gets the citizenship attribute. 439 * 440 * @return Returns the citizenship. 441 */ 442 @Column(name = "citizenship", length = 40, nullable = true) 443 public String getCitizenship() { 444 return citizenship; 445 } 446 447 /** 448 * Sets the citizenship attribute value. 449 * 450 * @param citizenship The citizenship to set. 451 */ 452 public void setCitizenship(String citizenship) { 453 this.citizenship = citizenship; 454 } 455 456 /** 457 * Gets the active attribute. 458 * 459 * @return Returns the active. 460 */ 461 @Column(name = "ACTV_IND", nullable = false, length = 1) 462 public boolean isActive() { 463 return active; 464 } 465 466 /** 467 * Sets the active attribute value. 468 * 469 * @param active The active to set. 470 */ 471 public void setActive(boolean active) { 472 this.active = active; 473 } 474 475 /** 476 * Gets the notifyTAFinal attribute. 477 * 478 * @return Returns the notifyTAFinal. 479 */ 480 public boolean isNotifyTAFinal() { 481 return notifyTAFinal; 482 } 483 484 /** 485 * Sets the notifyTAFinal attribute value. 486 * 487 * @param notifyTAFinal The notifyTAFinal to set. 488 */ 489 public void setNotifyTAFinal(boolean notifyTAFinal) { 490 this.notifyTAFinal = notifyTAFinal; 491 } 492 493 /** 494 * Gets the notifyTAStatusChange attribute. 495 * 496 * @return Returns the notifyTAStatusChange. 497 */ 498 public boolean isNotifyTAStatusChange() { 499 return notifyTAStatusChange; 500 } 501 502 /** 503 * Sets the notifyTAStatusChange attribute value. 504 * 505 * @param notifyTAStatusChange The notifyTAStatusChange to set. 506 */ 507 public void setNotifyTAStatusChange(boolean notifyTAStatusChange) { 508 this.notifyTAStatusChange = notifyTAStatusChange; 509 } 510 511 /** 512 * Gets the notifyTERFinal attribute. 513 * 514 * @return Returns the notifyTERFinal. 515 */ 516 public boolean isNotifyTERFinal() { 517 return notifyTERFinal; 518 } 519 520 /** 521 * Sets the notifyTERFinal attribute value. 522 * 523 * @param notifyTERFinal The notifyTERFinal to set. 524 */ 525 public void setNotifyTERFinal(boolean notifyTERFinal) { 526 this.notifyTERFinal = notifyTERFinal; 527 } 528 529 /** 530 * Gets the notifyTERStatusChange attribute. 531 * 532 * @return Returns the notifyTERStatusChange. 533 */ 534 public boolean isNotifyTERStatusChange() { 535 return notifyTERStatusChange; 536 } 537 538 /** 539 * Sets the notifyTERStatusChange attribute value. 540 * 541 * @param notifyTERStatusChange The notifyTERStatusChange to set. 542 */ 543 public void setNotifyTERStatusChange(boolean notifyTERStatusChange) { 544 this.notifyTERStatusChange = notifyTERStatusChange; 545 } 546 547 public boolean isMotorVehicleRecordCheck() { 548 return motorVehicleRecordCheck; 549 } 550 551 public void setMotorVehicleRecordCheck(boolean motorVehicleRecordCheck) { 552 this.motorVehicleRecordCheck = motorVehicleRecordCheck; 553 } 554 555 /** 556 * Gets the nonResIdentAlien attribute. 557 * 558 * @return Returns the nonResIdentAlien. 559 */ 560 @Column(name = "non_res_alien", length = 1, nullable = true) 561 public boolean isNonResidentAlien() { 562 return nonResidentAlien; 563 } 564 565 /** 566 * Sets the nonResIdentAlien attribute value. 567 * 568 * @param nonResIdentAlien The nonResIdentAlien to set. 569 */ 570 public void setNonResidentAlien(boolean nonResidentAlien) { 571 this.nonResidentAlien = nonResidentAlien; 572 } 573 574 /** 575 * Gets the dateOfBirth attribute. 576 * 577 * @return Returns the dateOfBirth. 578 */ 579 @Column(name = "date_of_birth", length = 10, nullable = false) 580 public Date getDateOfBirth() { 581 return dateOfBirth; 582 } 583 584 /** 585 * Sets the dateOfBirth attribute value. 586 * 587 * @param dateOfBirth The dateOfBirth to set. 588 */ 589 public void setDateOfBirth(Date dateOfBirth) { 590 this.dateOfBirth = dateOfBirth; 591 } 592 593 /** 594 * Gets the gender attribute. 595 * 596 * @return Returns the gender. 597 */ 598 @Column(name = "gender", length = 1, nullable = false) 599 public String getGender() { 600 return gender; 601 } 602 603 /** 604 * Sets the gender attribute value. 605 * 606 * @param gender The gender to set. 607 */ 608 public void setGender(String gender) { 609 this.gender = gender; 610 } 611 }