X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/237abe431bb77436ef7a23d32339804fff592cc7..04de0010b57b4d5ab5cdda5cb79507cf7c7dbabe:/src/main/java/org/asamk/signal/json/JsonContactAddress.java diff --git a/src/main/java/org/asamk/signal/json/JsonContactAddress.java b/src/main/java/org/asamk/signal/json/JsonContactAddress.java index 712dd4f3..7184f532 100644 --- a/src/main/java/org/asamk/signal/json/JsonContactAddress.java +++ b/src/main/java/org/asamk/signal/json/JsonContactAddress.java @@ -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())); } }