]> nmode's Git Repositories - signal-cli/blobdiff - src/main/java/org/asamk/signal/json/JsonMention.java
Add new dbus message received signals with extendable extras map
[signal-cli] / src / main / java / org / asamk / signal / json / JsonMention.java
index f0c66d00867c3df9b3cb945aab446dabe5127364..66fcc1f1a72e725764d593d6c67d5177d2dc412f 100644 (file)
@@ -1,39 +1,19 @@
 package org.asamk.signal.json;
 
-import com.fasterxml.jackson.annotation.JsonProperty;
-
 import org.asamk.signal.manager.Manager;
 import org.whispersystems.signalservice.api.messages.SignalServiceDataMessage;
 import org.whispersystems.signalservice.api.push.SignalServiceAddress;
 
-import java.util.UUID;
-
 import static org.asamk.signal.util.Util.getLegacyIdentifier;
 
-public class JsonMention {
-
-    @JsonProperty
-    @Deprecated
-    final String name;
-
-    @JsonProperty
-    final String number;
-
-    @JsonProperty
-    final String uuid;
-
-    @JsonProperty
-    final int start;
-
-    @JsonProperty
-    final int length;
+public record JsonMention(@Deprecated String name, String number, String uuid, int start, int length) {
 
-    JsonMention(SignalServiceDataMessage.Mention mention, Manager m) {
-        final var address = m.resolveSignalServiceAddress(new SignalServiceAddress(mention.getUuid(), null));
-        this.name = getLegacyIdentifier(address);
-        this.number = address.getNumber().orNull();
-        this.uuid = address.getUuid().transform(UUID::toString).orNull();
-        this.start = mention.getStart();
-        this.length = mention.getLength();
+    static JsonMention from(SignalServiceDataMessage.Mention mention, Manager m) {
+        final var address = m.resolveSignalServiceAddress(new SignalServiceAddress(mention.getUuid()));
+        return new JsonMention(getLegacyIdentifier(address),
+                address.getNumber().orNull(),
+                address.getUuid().toString(),
+                mention.getStart(),
+                mention.getLength());
     }
 }