]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonContactAddress.java
Use record classes
[signal-cli] / src / main / java / org / asamk / signal / json / JsonContactAddress.java
index 712dd4f39852231b9637af95b15de14994b478fd..6ffd355b6ab3d616be306066d7dea7d29a05ee5f 100644 (file)
@@ -1,48 +1,29 @@
 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 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(
+        SharedContact.PostalAddress.Type type,
+        String label,
+        String street,
+        String pobox,
+        String neighborhood,
+        String city,
+        String region,
+        String postcode,
+        String country
+) {
+
+    static JsonContactAddress from(SharedContact.PostalAddress address) {
+        return new JsonContactAddress(address.getType(),
+                Util.getStringIfNotBlank(address.getLabel()),
+                Util.getStringIfNotBlank(address.getStreet()),
+                Util.getStringIfNotBlank(address.getPobox()),
+                Util.getStringIfNotBlank(address.getNeighborhood()),
+                Util.getStringIfNotBlank(address.getCity()),
+                Util.getStringIfNotBlank(address.getRegion()),
+                Util.getStringIfNotBlank(address.getPostcode()),
+                Util.getStringIfNotBlank(address.getCountry()));
     }
 }