Java back-end server programming; includes various exercises
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

172 lines
3.0 KiB

  1. package com.example.sqltest.model;
  2. import java.math.BigDecimal;
  3. import javax.validation.constraints.Max;
  4. import javax.validation.constraints.Min;
  5. //@Entity
  6. public class Customer {
  7. private Long id;
  8. private String firstName;
  9. private String lastName;
  10. private String sex;
  11. private String language;
  12. @Min((long) 0.00)
  13. @Max((long) 10.00)
  14. private BigDecimal engagement;
  15. private String email;
  16. private String phone; //Yes, phone number can have other symbols than numbers. Do regex check for input validation
  17. // TODO add street address table
  18. // TODO add invoices data table (requires a joining table between CUSTOMER & INVOICE tables)
  19. // Setters
  20. public void setId(Long id) {
  21. this.id = id;
  22. }
  23. public void setFirstName(String firstName) {
  24. this.firstName = firstName;
  25. }
  26. public void setLastName(String lastName) {
  27. this.lastName = lastName;
  28. }
  29. public void setSex(String sex) {
  30. this.sex = sex;
  31. }
  32. public void setLanguage(String language) {
  33. this.language = language;
  34. }
  35. public void setEngagement(BigDecimal engagement) {
  36. this.engagement = engagement;
  37. }
  38. public void setPhone(String phone) {
  39. this.phone = phone;
  40. }
  41. public void setEmail(String email) {
  42. this.email = email;
  43. }
  44. // Getters
  45. public Long getId() {
  46. return id;
  47. }
  48. public String getFirstName() {
  49. return firstName;
  50. }
  51. public String getLastName() {
  52. return lastName;
  53. }
  54. public String getSex() {
  55. return sex;
  56. }
  57. public String getLanguage() {
  58. return language;
  59. }
  60. public BigDecimal getEngagement() {
  61. return engagement;
  62. }
  63. public String getPhone() {
  64. return phone;
  65. }
  66. public String getEmail() {
  67. return email;
  68. }
  69. // Constructors
  70. public Customer() {
  71. this.id = (long) 0;
  72. this.firstName = null;
  73. this.lastName = null;
  74. this.sex = null;
  75. this.language = null;
  76. this.engagement = null;
  77. this.email = null;
  78. this.phone = null;
  79. }
  80. public Customer(
  81. Long id,
  82. String firstName,
  83. String lastName,
  84. String sex,
  85. String language,
  86. BigDecimal engagement,
  87. String email,
  88. String phone
  89. ) {
  90. this.id = id;
  91. this.firstName = firstName;
  92. this.lastName = lastName;
  93. this.sex = sex;
  94. this.language = language;
  95. this.engagement = engagement;
  96. this.email = email;
  97. this.phone = phone;
  98. }
  99. public Customer(
  100. String firstName,
  101. String lastName,
  102. String sex,
  103. String language,
  104. BigDecimal engagement,
  105. String email,
  106. String phone
  107. ) {
  108. this.id = (long) 0;
  109. this.firstName = firstName;
  110. this.lastName = lastName;
  111. this.sex = sex;
  112. this.language = language;
  113. this.engagement = engagement;
  114. this.email = email;
  115. this.phone = phone;
  116. }
  117. // Overrides
  118. @Override
  119. public String toString() {
  120. return "[" +
  121. "id: " + this.id + ", " +
  122. "firstname: " + this.firstName + ", " +
  123. "lastname: " + this.lastName + ", " +
  124. "sex: " + this.sex + ", " +
  125. "language: " + this.language + ", " +
  126. "engagement: " + this.engagement + ", " +
  127. "email: " + this.email + ", " +
  128. "phone: " + this.phone +
  129. "]";
  130. }
  131. }