]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/json/JsonQuote.java
Replace collect(Collectors.toList()) with toList()
[signal-cli] / src / main / java / org / asamk / signal / json / JsonQuote.java
1 package org.asamk.signal.json;
2
3 import com.fasterxml.jackson.annotation.JsonInclude;
4
5 import org.asamk.signal.manager.api.MessageEnvelope;
6
7 import java.util.List;
8 import java.util.UUID;
9
10 public record JsonQuote(
11 long id,
12 @Deprecated String author,
13 String authorNumber,
14 String authorUuid,
15 String text,
16 @JsonInclude(JsonInclude.Include.NON_NULL) List<JsonMention> mentions,
17 List<JsonQuotedAttachment> attachments
18 ) {
19
20 static JsonQuote from(MessageEnvelope.Data.Quote quote) {
21 final var id = quote.id();
22 final var address = quote.author();
23 final var author = address.getLegacyIdentifier();
24 final var authorNumber = address.number().orElse(null);
25 final var authorUuid = address.uuid().map(UUID::toString).orElse(null);
26 final var text = quote.text().orElse(null);
27
28 final var mentions = quote.mentions().size() > 0
29 ? quote.mentions().stream().map(JsonMention::from).toList()
30 : null;
31
32 final var attachments = quote.attachments().size() > 0 ? quote.attachments()
33 .stream()
34 .map(JsonQuotedAttachment::from)
35 .toList() : List.<JsonQuotedAttachment>of();
36
37 return new JsonQuote(id, author, authorNumber, authorUuid, text, mentions, attachments);
38 }
39 }