]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonSticker.java
Use record classes
[signal-cli] / src / main / java / org / asamk / signal / json / JsonSticker.java
index e56ddf3fef5d4d552d6f1f1006660c6565d16e12..9278ee3779735b7101549dd8e303d334dc820933 100644 (file)
@@ -1,25 +1,15 @@
 package org.asamk.signal.json;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
-
 import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
 
 import java.util.Base64;
 
-public class JsonSticker {
-
-    @JsonProperty
-    final String packId;
-
-    @JsonProperty
-    final String packKey;
-
-    @JsonProperty
-    final int stickerId;
+public record JsonSticker(String packId, String packKey, int stickerId) {
 
-    public JsonSticker(SignalServiceDataMessage.Sticker sticker) {
-        this.packId = Base64.getEncoder().encodeToString(sticker.getPackId());
-        this.packKey = Base64.getEncoder().encodeToString(sticker.getPackKey());
-        this.stickerId = sticker.getStickerId();
+    static JsonSticker from(SignalServiceDataMessage.Sticker sticker) {
+        final var packId = Base64.getEncoder().encodeToString(sticker.getPackId());
+        final var packKey = Base64.getEncoder().encodeToString(sticker.getPackKey());
+        final var stickerId = sticker.getStickerId();
+        return new JsonSticker(packId, packKey, stickerId);
     }
 }