]>
nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/storage/recipients/Contact.java
c03f5c7f2d4338b8b1f2b81c1cd4c3629121646a
1 package org
.asamk
.signal
.manager
.storage
.recipients
;
3 import java
.util
.Objects
;
7 private final String name
;
9 private final String color
;
11 private final int messageExpirationTime
;
13 private final boolean blocked
;
15 private final boolean archived
;
20 final int messageExpirationTime
,
21 final boolean blocked
,
22 final boolean archived
26 this.messageExpirationTime
= messageExpirationTime
;
27 this.blocked
= blocked
;
28 this.archived
= archived
;
31 private Contact(final Builder builder
) {
33 color
= builder
.color
;
34 messageExpirationTime
= builder
.messageExpirationTime
;
35 blocked
= builder
.blocked
;
36 archived
= builder
.archived
;
39 public static Builder
newBuilder() {
43 public static Builder
newBuilder(final Contact copy
) {
44 Builder builder
= new Builder();
45 builder
.name
= copy
.getName();
46 builder
.color
= copy
.getColor();
47 builder
.messageExpirationTime
= copy
.getMessageExpirationTime();
48 builder
.blocked
= copy
.isBlocked();
49 builder
.archived
= copy
.isArchived();
53 public String
getName() {
57 public String
getColor() {
61 public int getMessageExpirationTime() {
62 return messageExpirationTime
;
65 public boolean isBlocked() {
69 public boolean isArchived() {
74 public boolean equals(final Object o
) {
75 if (this == o
) return true;
76 if (o
== null || getClass() != o
.getClass()) return false;
77 final Contact contact
= (Contact
) o
;
78 return messageExpirationTime
== contact
.messageExpirationTime
79 && blocked
== contact
.blocked
80 && archived
== contact
.archived
81 && Objects
.equals(name
, contact
.name
)
82 && Objects
.equals(color
, contact
.color
);
86 public int hashCode() {
87 return Objects
.hash(name
, color
, messageExpirationTime
, blocked
, archived
);
90 public static final class Builder
{
94 private int messageExpirationTime
;
95 private boolean blocked
;
96 private boolean archived
;
101 public Builder
withName(final String val
) {
106 public Builder
withColor(final String val
) {
111 public Builder
withMessageExpirationTime(final int val
) {
112 messageExpirationTime
= val
;
116 public Builder
withBlocked(final boolean val
) {
121 public Builder
withArchived(final boolean val
) {
126 public Contact
build() {
127 return new Contact(this);