]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonContactAddress.java
Convert RecipientAddress to record
[signal-cli] / src / main / java / org / asamk / signal / json / JsonContactAddress.java
index 712dd4f39852231b9637af95b15de14994b478fd..7184f53206122ed10c6d0b0730d0d64962f8c843 100644 (file)
@@ -1,48 +1,29 @@
 package org.asamk.signal.json;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
-
+import org.asamk.signal.manager.api.MessageEnvelope;
 import org.asamk.signal.util.Util;
-import org.whispersystems.signalservice.api.messages.shared.SharedContact;
-
-public class JsonContactAddress {
-
-    @JsonProperty
-    private final SharedContact.PostalAddress.Type type;
-
-    @JsonProperty
-    private final String label;
-
-    @JsonProperty
-    private final String street;
-
-    @JsonProperty
-    private final String pobox;
-
-    @JsonProperty
-    private final String neighborhood;
-
-    @JsonProperty
-    private final String city;
-
-    @JsonProperty
-    private final String region;
-
-    @JsonProperty
-    private final String postcode;
-
-    @JsonProperty
-    private final String country;
 
-    public JsonContactAddress(SharedContact.PostalAddress address) {
-        type = address.getType();
-        label = Util.getStringIfNotBlank(address.getLabel());
-        street = Util.getStringIfNotBlank(address.getStreet());
-        pobox = Util.getStringIfNotBlank(address.getPobox());
-        neighborhood = Util.getStringIfNotBlank(address.getNeighborhood());
-        city = Util.getStringIfNotBlank(address.getCity());
-        region = Util.getStringIfNotBlank(address.getRegion());
-        postcode = Util.getStringIfNotBlank(address.getPostcode());
-        country = Util.getStringIfNotBlank(address.getCountry());
+public record JsonContactAddress(
+        String type,
+        String label,
+        String street,
+        String pobox,
+        String neighborhood,
+        String city,
+        String region,
+        String postcode,
+        String country
+) {
+
+    static JsonContactAddress from(MessageEnvelope.Data.SharedContact.Address address) {
+        return new JsonContactAddress(address.type().name(),
+                Util.getStringIfNotBlank(address.label()),
+                Util.getStringIfNotBlank(address.street()),
+                Util.getStringIfNotBlank(address.pobox()),
+                Util.getStringIfNotBlank(address.neighborhood()),
+                Util.getStringIfNotBlank(address.city()),
+                Util.getStringIfNotBlank(address.region()),
+                Util.getStringIfNotBlank(address.postcode()),
+                Util.getStringIfNotBlank(address.country()));
     }
 }