]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonSyncReadMessage.java
Use record classes
[signal-cli] / src / main / java / org / asamk / signal / json / JsonSyncReadMessage.java
index 042ed7e4e18b3851e1598bc8ff3069bdf39041e5..05cb48f3a2655841752abd1956a2459d22f3296a 100644 (file)
@@ -1,31 +1,19 @@
 package org.asamk.signal.json;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
-
 import org.whispersystems.signalservice.api.messages.multidevice.ReadMessage;
 
 import static org.asamk.signal.util.Util.getLegacyIdentifier;
 
-class JsonSyncReadMessage {
-
-    @JsonProperty
-    @Deprecated
-    final String sender;
-
-    @JsonProperty
-    final String senderNumber;
-
-    @JsonProperty
-    final String senderUuid;
-
-    @JsonProperty
-    final long timestamp;
-
-    public JsonSyncReadMessage(final ReadMessage readMessage) {
-        final var sender = readMessage.getSender();
-        this.sender = getLegacyIdentifier(sender);
-        this.senderNumber = sender.getNumber().orNull();
-        this.senderUuid = sender.getUuid().toString();
-        this.timestamp = readMessage.getTimestamp();
+record JsonSyncReadMessage(
+        @Deprecated String sender, String senderNumber, String senderUuid, long timestamp
+) {
+
+    static JsonSyncReadMessage from(final ReadMessage readMessage) {
+        final var senderAddress = readMessage.getSender();
+        final var sender = getLegacyIdentifier(senderAddress);
+        final var senderNumber = senderAddress.getNumber().orNull();
+        final var senderUuid = senderAddress.getUuid().toString();
+        final var timestamp = readMessage.getTimestamp();
+        return new JsonSyncReadMessage(sender, senderNumber, senderUuid, timestamp);
     }
 }