summaryrefslogtreecommitdiff
path: root/src/main/java/com/mavlushechka/notaryqueue/model/Client.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/main/java/com/mavlushechka/notaryqueue/model/Client.java')
-rw-r--r--src/main/java/com/mavlushechka/notaryqueue/model/Client.java128
1 files changed, 128 insertions, 0 deletions
diff --git a/src/main/java/com/mavlushechka/notaryqueue/model/Client.java b/src/main/java/com/mavlushechka/notaryqueue/model/Client.java
new file mode 100644
index 0000000..25033d2
--- /dev/null
+++ b/src/main/java/com/mavlushechka/notaryqueue/model/Client.java
@@ -0,0 +1,128 @@
+package com.mavlushechka.notaryqueue.model;
+
+import java.io.Serializable;
+import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
+import java.util.Objects;
+
+public class Client implements Serializable {
+
+ public String numberInQueue;
+ public String name;
+ public LocalTime localTime;
+ public String clientDocumentType;
+ private Status status;
+ private boolean isClientDocumentTypeVisible;
+ private boolean isLocalTimeVisible;
+
+
+ public Client() {
+ }
+
+ public Client(Client client) {
+ this.numberInQueue = client.numberInQueue;
+ this.name = client.name;
+ this.status = client.status;
+ this.clientDocumentType = client.clientDocumentType;
+ this.isClientDocumentTypeVisible = client.isClientDocumentTypeVisible;
+ this.localTime = client.localTime;
+ this.isLocalTimeVisible = client.isLocalTimeVisible;
+ }
+
+ public Client(String numberInQueue, String name, Status status, String clientDocumentType, boolean isClientDocumentTypeVisible, LocalTime localTime, boolean isLocalTimeVisible) {
+ this.numberInQueue = numberInQueue;
+ this.name = name;
+ this.status = status;
+ this.clientDocumentType = clientDocumentType;
+ this.isClientDocumentTypeVisible = isClientDocumentTypeVisible;
+ this.localTime = localTime;
+ this.isLocalTimeVisible = isLocalTimeVisible;
+ }
+
+ public String getNumberInQueue() {
+ return numberInQueue;
+ }
+
+ public void setNumberInQueue(String numberInQueue) {
+ this.numberInQueue = numberInQueue;
+ }
+
+ public String getName() {
+ return name;
+ }
+
+ public void setName(String name) {
+ this.name = name;
+ }
+
+ public LocalTime getLocalTime() {
+ return localTime;
+ }
+
+ public void setLocalTime(LocalTime localTime) {
+ this.localTime = localTime;
+ }
+
+ public String getClientDocumentType() {
+ return clientDocumentType;
+ }
+
+ public void setClientDocumentType(String clientDocumentType) {
+ this.clientDocumentType = clientDocumentType;
+ }
+
+ public Status getStatus() {
+ return status;
+ }
+
+ public void setStatus(Status status) {
+ this.status = status;
+ }
+
+ public boolean isClientDocumentTypeVisible() {
+ return isClientDocumentTypeVisible;
+ }
+
+ public void setClientDocumentTypeVisible(boolean clientDocumentTypeVisible) {
+ isClientDocumentTypeVisible = clientDocumentTypeVisible;
+ }
+
+ public boolean isLocalTimeVisible() {
+ return isLocalTimeVisible;
+ }
+
+ public void setLocalTimeVisible(boolean localTimeVisible) {
+ isLocalTimeVisible = localTimeVisible;
+ }
+
+ @Override
+ public boolean equals(Object object) {
+ if (this == object) return true;
+ if (object == null || getClass() != object.getClass()) return false;
+ Client client = (Client) object;
+ return isClientDocumentTypeVisible == client.isClientDocumentTypeVisible && isLocalTimeVisible == client.isLocalTimeVisible && Objects.equals(numberInQueue, client.numberInQueue) && Objects.equals(name, client.name) && Objects.equals(localTime, client.localTime) && Objects.equals(clientDocumentType, client.clientDocumentType) && status == client.status;
+ }
+
+ @Override
+ public int hashCode() {
+ return Objects.hash(numberInQueue, name, localTime, clientDocumentType, status, isClientDocumentTypeVisible, isLocalTimeVisible);
+ }
+
+ @Override
+ public String toString() {
+ String string = numberInQueue + ". " + name;
+
+ if (isClientDocumentTypeVisible || isLocalTimeVisible) {
+ string += " (";
+ if (isClientDocumentTypeVisible) {
+ string += clientDocumentType;
+ }
+ if (isLocalTimeVisible) {
+ string += (isClientDocumentTypeVisible ? ", " : "") + localTime.format(DateTimeFormatter.ofPattern("hh:mm"));
+ }
+ string += ")";
+ }
+ return string;
+ }
+
+}