]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonCallMessage.java
Use record classes
[signal-cli] / src / main / java / org / asamk / signal / json / JsonCallMessage.java
index 885c38a40fc04a04b3aaf44546837035715ab076..e30aeafa40ea9c109d51a016beb81481624414f7 100644 (file)
@@ -1,7 +1,6 @@
 package org.asamk.signal.json;
 
 import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.annotation.JsonProperty;
 
 import org.whispersystems.signalservice.api.messages.calls.AnswerMessage;
 import org.whispersystems.signalservice.api.messages.calls.BusyMessage;
@@ -12,33 +11,19 @@ import org.whispersystems.signalservice.api.messages.calls.SignalServiceCallMess
 
 import java.util.List;
 
-class JsonCallMessage {
-
-    @JsonProperty
-    @JsonInclude(JsonInclude.Include.NON_NULL)
-    final OfferMessage offerMessage;
-
-    @JsonProperty
-    @JsonInclude(JsonInclude.Include.NON_NULL)
-    final AnswerMessage answerMessage;
-
-    @JsonProperty
-    @JsonInclude(JsonInclude.Include.NON_NULL)
-    final BusyMessage busyMessage;
-
-    @JsonProperty
-    @JsonInclude(JsonInclude.Include.NON_NULL)
-    final HangupMessage hangupMessage;
-
-    @JsonProperty
-    @JsonInclude(JsonInclude.Include.NON_NULL)
-    final List<IceUpdateMessage> iceUpdateMessages;
-
-    JsonCallMessage(SignalServiceCallMessage callMessage) {
-        this.offerMessage = callMessage.getOfferMessage().orNull();
-        this.answerMessage = callMessage.getAnswerMessage().orNull();
-        this.busyMessage = callMessage.getBusyMessage().orNull();
-        this.hangupMessage = callMessage.getHangupMessage().orNull();
-        this.iceUpdateMessages = callMessage.getIceUpdateMessages().orNull();
+record JsonCallMessage(
+        @JsonInclude(JsonInclude.Include.NON_NULL) OfferMessage offerMessage,
+        @JsonInclude(JsonInclude.Include.NON_NULL) AnswerMessage answerMessage,
+        @JsonInclude(JsonInclude.Include.NON_NULL) BusyMessage busyMessage,
+        @JsonInclude(JsonInclude.Include.NON_NULL) HangupMessage hangupMessage,
+        @JsonInclude(JsonInclude.Include.NON_NULL) List<IceUpdateMessage> iceUpdateMessages
+) {
+
+    static JsonCallMessage from(SignalServiceCallMessage callMessage) {
+        return new JsonCallMessage(callMessage.getOfferMessage().orNull(),
+                callMessage.getAnswerMessage().orNull(),
+                callMessage.getBusyMessage().orNull(),
+                callMessage.getHangupMessage().orNull(),
+                callMessage.getIceUpdateMessages().orNull());
     }
 }