X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/ce70a623c21a267679d59838d041f9bc1d486cd9..ce7aa580b6f0580cdcf7fd68fcc8efba737d21ed:/src/main/java/org/asamk/signal/json/JsonAttachment.java diff --git a/src/main/java/org/asamk/signal/json/JsonAttachment.java b/src/main/java/org/asamk/signal/json/JsonAttachment.java index a96fc534..b78722d1 100644 --- a/src/main/java/org/asamk/signal/json/JsonAttachment.java +++ b/src/main/java/org/asamk/signal/json/JsonAttachment.java @@ -1,43 +1,25 @@ package org.asamk.signal.json; -import com.fasterxml.jackson.annotation.JsonProperty; - import org.whispersystems.signalservice.api.messages.SignalServiceAttachment; -class JsonAttachment { - - @JsonProperty - final String contentType; - - @JsonProperty - final String filename; - - @JsonProperty - final String id; - - @JsonProperty - final Long size; - - JsonAttachment(SignalServiceAttachment attachment) { - this.contentType = attachment.getContentType(); +record JsonAttachment(String contentType, String filename, String id, Long size) { + static JsonAttachment from(SignalServiceAttachment attachment) { if (attachment.isPointer()) { final var pointer = attachment.asPointer(); - this.id = pointer.getRemoteId().toString(); - this.filename = pointer.getFileName().orNull(); - this.size = pointer.getSize().transform(Integer::longValue).orNull(); + final var id = pointer.getRemoteId().toString(); + final var filename = pointer.getFileName().orNull(); + final var size = pointer.getSize().transform(Integer::longValue).orNull(); + return new JsonAttachment(attachment.getContentType(), filename, id, size); } else { final var stream = attachment.asStream(); - this.id = null; - this.filename = stream.getFileName().orNull(); - this.size = stream.getLength(); + final var filename = stream.getFileName().orNull(); + final var size = stream.getLength(); + return new JsonAttachment(attachment.getContentType(), filename, null, size); } } - JsonAttachment(String filename) { - this.filename = filename; - this.contentType = null; - this.id = null; - this.size = null; + static JsonAttachment from(String filename) { + return new JsonAttachment(filename, null, null, null); } }