]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonReceiptMessage.java
Use record classes
[signal-cli] / src / main / java / org / asamk / signal / json / JsonReceiptMessage.java
index e32009e13c72879d3f07b39ab71b32c769d897e6..af7050b1c7c729fdce7753ea83149b111d2245d3 100644 (file)
@@ -1,39 +1,17 @@
 package org.asamk.signal.json;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
-
 import org.whispersystems.signalservice.api.messages.SignalServiceReceiptMessage;
 
 import java.util.List;
 
-class JsonReceiptMessage {
-
-    @JsonProperty
-    final long when;
-
-    @JsonProperty
-    final boolean isDelivery;
-
-    @JsonProperty
-    final boolean isRead;
-
-    @JsonProperty
-    final List<Long> timestamps;
-
-    JsonReceiptMessage(SignalServiceReceiptMessage receiptMessage) {
-        this.when = receiptMessage.getWhen();
-        this.isDelivery = receiptMessage.isDeliveryReceipt();
-        this.isRead = receiptMessage.isReadReceipt();
-        this.timestamps = receiptMessage.getTimestamps();
-    }
+record JsonReceiptMessage(long when, boolean isDelivery, boolean isRead, List<Long> timestamps) {
 
-    private JsonReceiptMessage(
-            final long when, final boolean isDelivery, final boolean isRead, final List<Long> timestamps
-    ) {
-        this.when = when;
-        this.isDelivery = isDelivery;
-        this.isRead = isRead;
-        this.timestamps = timestamps;
+    static JsonReceiptMessage from(SignalServiceReceiptMessage receiptMessage) {
+        final var when = receiptMessage.getWhen();
+        final var isDelivery = receiptMessage.isDeliveryReceipt();
+        final var isRead = receiptMessage.isReadReceipt();
+        final var timestamps = receiptMessage.getTimestamps();
+        return new JsonReceiptMessage(when, isDelivery, isRead, timestamps);
     }
 
     static JsonReceiptMessage deliveryReceipt(final long when, final List<Long> timestamps) {