]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonContactName.java
Use record classes
[signal-cli] / src / main / java / org / asamk / signal / json / JsonContactName.java
index 9da2782504b98cc59bafd1fad72cd346db325700..9c7af32bcc66f114f0489205f2030f4fa24c54d5 100644 (file)
@@ -1,36 +1,18 @@
 package org.asamk.signal.json;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
-
 import org.asamk.signal.util.Util;
 import org.whispersystems.signalservice.api.messages.shared.SharedContact;
 
-public class JsonContactName {
-
-    @JsonProperty
-    private final String display;
-
-    @JsonProperty
-    private final String given;
-
-    @JsonProperty
-    private final String family;
-
-    @JsonProperty
-    private final String prefix;
-
-    @JsonProperty
-    private final String suffix;
-
-    @JsonProperty
-    private final String middle;
-
-    public JsonContactName(SharedContact.Name name) {
-        display = Util.getStringIfNotBlank(name.getDisplay());
-        given = Util.getStringIfNotBlank(name.getGiven());
-        family = Util.getStringIfNotBlank(name.getFamily());
-        prefix = Util.getStringIfNotBlank(name.getPrefix());
-        suffix = Util.getStringIfNotBlank(name.getSuffix());
-        middle = Util.getStringIfNotBlank(name.getMiddle());
+public record JsonContactName(
+        String display, String given, String family, String prefix, String suffix, String middle
+) {
+
+    static JsonContactName from(SharedContact.Name name) {
+        return new JsonContactName(Util.getStringIfNotBlank(name.getDisplay()),
+                Util.getStringIfNotBlank(name.getGiven()),
+                Util.getStringIfNotBlank(name.getFamily()),
+                Util.getStringIfNotBlank(name.getPrefix()),
+                Util.getStringIfNotBlank(name.getSuffix()),
+                Util.getStringIfNotBlank(name.getMiddle()));
     }
 }