]>
nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/storage/recipients/Contact.java
25d6151ff101baa49157bf8936fd16bce4fbffe4
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
;
17 private final boolean profileSharingEnabled
;
22 final int messageExpirationTime
,
23 final boolean blocked
,
24 final boolean archived
,
25 final boolean profileSharingEnabled
29 this.messageExpirationTime
= messageExpirationTime
;
30 this.blocked
= blocked
;
31 this.archived
= archived
;
32 this.profileSharingEnabled
= profileSharingEnabled
;
35 private Contact(final Builder builder
) {
37 color
= builder
.color
;
38 messageExpirationTime
= builder
.messageExpirationTime
;
39 blocked
= builder
.blocked
;
40 archived
= builder
.archived
;
41 profileSharingEnabled
= builder
.profileSharingEnabled
;
44 public static Builder
newBuilder() {
48 public static Builder
newBuilder(final Contact copy
) {
49 Builder builder
= new Builder();
50 builder
.name
= copy
.getName();
51 builder
.color
= copy
.getColor();
52 builder
.messageExpirationTime
= copy
.getMessageExpirationTime();
53 builder
.blocked
= copy
.isBlocked();
54 builder
.archived
= copy
.isArchived();
55 builder
.profileSharingEnabled
= copy
.isProfileSharingEnabled();
59 public String
getName() {
63 public String
getColor() {
67 public int getMessageExpirationTime() {
68 return messageExpirationTime
;
71 public boolean isBlocked() {
75 public boolean isArchived() {
79 public boolean isProfileSharingEnabled() {
80 return profileSharingEnabled
;
84 public boolean equals(final Object o
) {
85 if (this == o
) return true;
86 if (o
== null || getClass() != o
.getClass()) return false;
87 final Contact contact
= (Contact
) o
;
88 return messageExpirationTime
== contact
.messageExpirationTime
89 && blocked
== contact
.blocked
90 && archived
== contact
.archived
91 && profileSharingEnabled
== contact
.profileSharingEnabled
92 && Objects
.equals(name
, contact
.name
)
93 && Objects
.equals(color
, contact
.color
);
97 public int hashCode() {
98 return Objects
.hash(name
, color
, messageExpirationTime
, blocked
, archived
, profileSharingEnabled
);
101 public static final class Builder
{
104 private String color
;
105 private int messageExpirationTime
;
106 private boolean blocked
;
107 private boolean archived
;
108 private boolean profileSharingEnabled
;
113 public Builder
withName(final String val
) {
118 public Builder
withColor(final String val
) {
123 public Builder
withMessageExpirationTime(final int val
) {
124 messageExpirationTime
= val
;
128 public Builder
withBlocked(final boolean val
) {
133 public Builder
withArchived(final boolean val
) {
138 public Builder
withProfileSharingEnabled(final boolean val
) {
139 profileSharingEnabled
= val
;
143 public Contact
build() {
144 return new Contact(this);