diff options
Diffstat (limited to 'src/main/java/com/mavlushechka/notaryqueue/model/Client.java')
-rw-r--r-- | src/main/java/com/mavlushechka/notaryqueue/model/Client.java | 128 |
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; + } + +} |