]> nmode's Git Repositories - signal-cli/blob - lib/src/main/java/org/asamk/signal/manager/api/UpdateProfile.java
d5de308e4bb37929701ad2f7475768d278229b06
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / api / UpdateProfile.java
1 package org.asamk.signal.manager.api;
2
3 import java.io.File;
4
5 public class UpdateProfile {
6
7 private final String givenName;
8 private final String familyName;
9 private final String about;
10 private final String aboutEmoji;
11 private final File avatar;
12 private final boolean deleteAvatar;
13 private final byte[] mobileCoinAddress;
14
15 private UpdateProfile(final Builder builder) {
16 givenName = builder.givenName;
17 familyName = builder.familyName;
18 about = builder.about;
19 aboutEmoji = builder.aboutEmoji;
20 avatar = builder.avatar;
21 deleteAvatar = builder.deleteAvatar;
22 mobileCoinAddress = builder.mobileCoinAddress;
23 }
24
25 public static Builder newBuilder() {
26 return new Builder();
27 }
28
29 public static Builder newBuilder(final UpdateProfile copy) {
30 Builder builder = new Builder();
31 builder.givenName = copy.getGivenName();
32 builder.familyName = copy.getFamilyName();
33 builder.about = copy.getAbout();
34 builder.aboutEmoji = copy.getAboutEmoji();
35 builder.avatar = copy.getAvatar();
36 builder.deleteAvatar = copy.isDeleteAvatar();
37 builder.mobileCoinAddress = copy.getMobileCoinAddress();
38 return builder;
39 }
40
41 public String getGivenName() {
42 return givenName;
43 }
44
45 public String getFamilyName() {
46 return familyName;
47 }
48
49 public String getAbout() {
50 return about;
51 }
52
53 public String getAboutEmoji() {
54 return aboutEmoji;
55 }
56
57 public File getAvatar() {
58 return avatar;
59 }
60
61 public boolean isDeleteAvatar() {
62 return deleteAvatar;
63 }
64
65 public byte[] getMobileCoinAddress() {
66 return mobileCoinAddress;
67 }
68
69 public static final class Builder {
70
71 private String givenName;
72 private String familyName;
73 private String about;
74 private String aboutEmoji;
75 private File avatar;
76 private boolean deleteAvatar;
77 private byte[] mobileCoinAddress;
78
79 private Builder() {
80 }
81
82 public Builder withGivenName(final String val) {
83 givenName = val;
84 return this;
85 }
86
87 public Builder withFamilyName(final String val) {
88 familyName = val;
89 return this;
90 }
91
92 public Builder withAbout(final String val) {
93 about = val;
94 return this;
95 }
96
97 public Builder withAboutEmoji(final String val) {
98 aboutEmoji = val;
99 return this;
100 }
101
102 public Builder withAvatar(final File val) {
103 avatar = val;
104 return this;
105 }
106
107 public Builder withDeleteAvatar(final boolean val) {
108 deleteAvatar = val;
109 return this;
110 }
111
112 public Builder withMobileCoinAddress(final byte[] val) {
113 mobileCoinAddress = val;
114 return this;
115 }
116
117 public UpdateProfile build() {
118 return new UpdateProfile(this);
119 }
120 }
121 }