]> nmode's Git Repositories - signal-cli/blob - src/main/java/org/asamk/signal/manager/storage/messageCache/CachedMessage.java
6c20cf628053dd380aa55d3144a0945b7ec15584
[signal-cli] / src / main / java / org / asamk / signal / manager / storage / messageCache / CachedMessage.java
1 package org.asamk.signal.manager.storage.messageCache;
2
3 import org.asamk.signal.manager.util.MessageCacheUtils;
4 import org.slf4j.Logger;
5 import org.slf4j.LoggerFactory;
6 import org.whispersystems.signalservice.api.messages.SignalServiceEnvelope;
7
8 import java.io.File;
9 import java.io.IOException;
10 import java.nio.file.Files;
11
12 public final class CachedMessage {
13
14 final static Logger logger = LoggerFactory.getLogger(CachedMessage.class);
15
16 private final File file;
17
18 CachedMessage(final File file) {
19 this.file = file;
20 }
21
22 public SignalServiceEnvelope loadEnvelope() {
23 try {
24 return MessageCacheUtils.loadEnvelope(file);
25 } catch (IOException e) {
26 logger.error("Failed to load cached message envelope “{}”: {}", file, e.getMessage());
27 return null;
28 }
29 }
30
31 public void delete() {
32 try {
33 Files.delete(file.toPath());
34 } catch (IOException e) {
35 logger.warn("Failed to delete cached message file “{}”, ignoring: {}", file, e.getMessage());
36 }
37 }
38 }