]> nmode's Git Repositories - signal-cli/blobdiff - lib/src/main/java/org/asamk/signal/manager/api/UpdateProfile.java
Refactor manager update profile method
[signal-cli] / lib / src / main / java / org / asamk / signal / manager / api / UpdateProfile.java
diff --git a/lib/src/main/java/org/asamk/signal/manager/api/UpdateProfile.java b/lib/src/main/java/org/asamk/signal/manager/api/UpdateProfile.java
new file mode 100644 (file)
index 0000000..2b47f7d
--- /dev/null
@@ -0,0 +1,108 @@
+package org.asamk.signal.manager.api;
+
+import java.io.File;
+
+public class UpdateProfile {
+
+    private final String givenName;
+    private final String familyName;
+    private final String about;
+    private final String aboutEmoji;
+    private final File avatar;
+    private final boolean deleteAvatar;
+
+    private UpdateProfile(final Builder builder) {
+        givenName = builder.givenName;
+        familyName = builder.familyName;
+        about = builder.about;
+        aboutEmoji = builder.aboutEmoji;
+        avatar = builder.avatar;
+        deleteAvatar = builder.deleteAvatar;
+    }
+
+    public static Builder newBuilder() {
+        return new Builder();
+    }
+
+    public static Builder newBuilder(final UpdateProfile copy) {
+        Builder builder = new Builder();
+        builder.givenName = copy.getGivenName();
+        builder.familyName = copy.getFamilyName();
+        builder.about = copy.getAbout();
+        builder.aboutEmoji = copy.getAboutEmoji();
+        builder.avatar = copy.getAvatar();
+        builder.deleteAvatar = copy.isDeleteAvatar();
+        return builder;
+    }
+
+    public String getGivenName() {
+        return givenName;
+    }
+
+    public String getFamilyName() {
+        return familyName;
+    }
+
+    public String getAbout() {
+        return about;
+    }
+
+    public String getAboutEmoji() {
+        return aboutEmoji;
+    }
+
+    public File getAvatar() {
+        return avatar;
+    }
+
+    public boolean isDeleteAvatar() {
+        return deleteAvatar;
+    }
+
+    public static final class Builder {
+
+        private String givenName;
+        private String familyName;
+        private String about;
+        private String aboutEmoji;
+        private File avatar;
+        private boolean deleteAvatar;
+
+        private Builder() {
+        }
+
+        public Builder withGivenName(final String val) {
+            givenName = val;
+            return this;
+        }
+
+        public Builder withFamilyName(final String val) {
+            familyName = val;
+            return this;
+        }
+
+        public Builder withAbout(final String val) {
+            about = val;
+            return this;
+        }
+
+        public Builder withAboutEmoji(final String val) {
+            aboutEmoji = val;
+            return this;
+        }
+
+        public Builder withAvatar(final File val) {
+            avatar = val;
+            return this;
+        }
+
+        public Builder withDeleteAvatar(final boolean val) {
+            deleteAvatar = val;
+            return this;
+        }
+
+        public UpdateProfile build() {
+            return new UpdateProfile(this);
+        }
+    }
+}